Added song-options on ScreenSong. Need fix for drawing...
This commit is contained in:
1 parent
07bad380a3
commit
992397d498
9 files changed
+493
-84
No files matched your search
@@ -118,6 +118,10 @@
|
||||
<TR_SCREENNAMES_WARNING_PROFILES_PL>Warnung: Den Spielern %v sind keine Profile zugeordnet!</TR_SCREENNAMES_WARNING_PROFILES_PL>
|
||||
<!--ScreenSong-->
|
||||
<TR_SCREENSONG_MENU>Songauswahl</TR_SCREENSONG_MENU>
|
||||
<TR_SCREENSONG_BUTTON_SING>Lied singen</TR_SCREENSONG_BUTTON_SING>
|
||||
<TR_SCREENSONG_BUTTON_PLAYLIST>Zur Playlist hinzufügen</TR_SCREENSONG_BUTTON_PLAYLIST>
|
||||
<TR_SCREENSONG_BUTTON_CANCEL>Schließen</TR_SCREENSONG_BUTTON_CANCEL>
|
||||
<TR_SCREENSONG_SONGOPTIONS>Lied-Optionen</TR_SCREENSONG_SONGOPTIONS>
|
||||
<TR_SCREENSONG_SEARCH>Suche:</TR_SCREENSONG_SEARCH>
|
||||
<TR_SCREENSONG_NOLANGUAGE>Ohne Sprache</TR_SCREENSONG_NOLANGUAGE>
|
||||
<TR_SCREENSONG_NOYEAR>Ohne Jahr</TR_SCREENSONG_NOYEAR>
|
||||
|
||||
@@ -118,6 +118,10 @@
|
||||
<TR_SCREENNAMES_WARNING_PROFILES_PL>Warning: There are no profiles assigned to players %v!</TR_SCREENNAMES_WARNING_PROFILES_PL>
|
||||
<!--ScreenSong-->
|
||||
<TR_SCREENSONG_MENU>Song Selection</TR_SCREENSONG_MENU>
|
||||
<TR_SCREENSONG_BUTTON_SING>Sing</TR_SCREENSONG_BUTTON_SING>
|
||||
<TR_SCREENSONG_BUTTON_PLAYLIST>Add to playlist</TR_SCREENSONG_BUTTON_PLAYLIST>
|
||||
<TR_SCREENSONG_BUTTON_CANCEL>Close</TR_SCREENSONG_BUTTON_CANCEL>
|
||||
<TR_SCREENSONG_SONGOPTIONS>Song Options</TR_SCREENSONG_SONGOPTIONS>
|
||||
<TR_SCREENSONG_SEARCH>Search:</TR_SCREENSONG_SEARCH>
|
||||
<TR_SCREENSONG_NOLANGUAGE>No Language</TR_SCREENSONG_NOLANGUAGE>
|
||||
<TR_SCREENSONG_NOYEAR>No Year</TR_SCREENSONG_NOYEAR>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<ScreenSong>
|
||||
<ScreenVersion>2</ScreenVersion>
|
||||
<ScreenVersion>3</ScreenVersion>
|
||||
<Background1>
|
||||
<!--<Type>: Background type: None, Color, Texture, Video-->
|
||||
<Type>Video</Type>
|
||||
@@ -33,6 +33,25 @@
|
||||
<Height>26</Height>
|
||||
</Reflection>
|
||||
</Static1>
|
||||
<StaticOptionsBG>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>SongMenuBG</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
|
||||
<X>40</X>
|
||||
<Y>40</Y>
|
||||
<Z>-2,10</Z>
|
||||
<W>360</W>
|
||||
<H>360</H>
|
||||
<!--<Color>: Static color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<R>1</R>
|
||||
<G>1</G>
|
||||
<B>1</B>
|
||||
<A>0.3</A>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticOptionsBG>
|
||||
<StaticSearchBar>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Menu</Skin>
|
||||
@@ -53,6 +72,175 @@
|
||||
<Height>26</Height>
|
||||
</Reflection>
|
||||
</StaticSearchBar>
|
||||
<ButtonOptionsSing>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Button</Skin>
|
||||
<!--<SkinSelected>: Texture name for selected button-->
|
||||
<SkinSelected>Button</SkinSelected>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
|
||||
<X>40</X>
|
||||
<Y>90</Y>
|
||||
<Z>-2,11</Z>
|
||||
<W>360</W>
|
||||
<H>40</H>
|
||||
<!--<Color>: Button color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonColor</Color>
|
||||
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>ButtonSColor</SColor>
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>30</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
<MaxW>350</MaxW>
|
||||
<!--<Color>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonTextColor</Color>
|
||||
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>ButtonTextSColor</SColor>
|
||||
<!--<Align>: Text align: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<Text>TR_SCREENSONG_BUTTON_SING</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
<!--<SReflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space of selected button-->
|
||||
<!-- <Height>: Reflection Height of selected button-->
|
||||
</ButtonOptionsSing>
|
||||
<ButtonOptionsPlaylist>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Button</Skin>
|
||||
<!--<SkinSelected>: Texture name for selected button-->
|
||||
<SkinSelected>Button</SkinSelected>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
|
||||
<X>40</X>
|
||||
<Y>180</Y>
|
||||
<Z>-2,11</Z>
|
||||
<W>360</W>
|
||||
<H>40</H>
|
||||
<!--<Color>: Button color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonColor</Color>
|
||||
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>ButtonSColor</SColor>
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>30</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
<MaxW>350</MaxW>
|
||||
<!--<Color>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonTextColor</Color>
|
||||
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>ButtonTextSColor</SColor>
|
||||
<!--<Align>: Text align: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<Text>TR_SCREENSONG_BUTTON_PLAYLIST</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
<!--<SReflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space of selected button-->
|
||||
<!-- <Height>: Reflection Height of selected button-->
|
||||
</ButtonOptionsPlaylist>
|
||||
<ButtonOptionsClose>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Button</Skin>
|
||||
<!--<SkinSelected>: Texture name for selected button-->
|
||||
<SkinSelected>Button</SkinSelected>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
|
||||
<X>40</X>
|
||||
<Y>225</Y>
|
||||
<Z>-2,11</Z>
|
||||
<W>360</W>
|
||||
<H>40</H>
|
||||
<!--<Color>: Button color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonColor</Color>
|
||||
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>ButtonSColor</SColor>
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>30</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
<MaxW>350</MaxW>
|
||||
<!--<Color>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonTextColor</Color>
|
||||
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>ButtonTextSColor</SColor>
|
||||
<!--<Align>: Text align: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<Text>TR_SCREENSONG_BUTTON_CANCEL</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
<!--<SReflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space of selected button-->
|
||||
<!-- <Height>: Reflection Height of selected button-->
|
||||
</ButtonOptionsClose>
|
||||
<TextOptionsTitle>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>200</X>
|
||||
<Y>45</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>-2,11</Z>
|
||||
<!--<H>: Text height-->
|
||||
<H>40</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
<MaxW>350</MaxW>
|
||||
<!--<Color>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>StaticColor</Color>
|
||||
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>TextSColor</SColor>
|
||||
<!--<Align>: Text align: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<Text>TR_SCREENSONG_SONGOPTIONS</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</TextOptionsTitle>
|
||||
<TextCategory>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>220</X>
|
||||
@@ -171,6 +359,71 @@
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</TextSearchBar>
|
||||
<SelectSlideOptionsMode>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Button</Skin>
|
||||
<!--<SkinArrowLeft>: Texture name of left arrow-->
|
||||
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
|
||||
<!--<SkinArrowRight>: Texture name of right arrow-->
|
||||
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
|
||||
<!--<SkinSelected>: Texture name for selected SelectSlide-->
|
||||
<SkinSelected>SelectSlide</SkinSelected>
|
||||
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
|
||||
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
|
||||
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
|
||||
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
|
||||
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
|
||||
<SkinHighlighted>SelectSlide</SkinHighlighted>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
|
||||
<X>40</X>
|
||||
<Y>135</Y>
|
||||
<Z>-2,11</Z>
|
||||
<W>360</W>
|
||||
<H>40</H>
|
||||
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
|
||||
<ArrowLeftX>45</ArrowLeftX>
|
||||
<ArrowLeftY>140</ArrowLeftY>
|
||||
<ArrowLeftZ>-2,12</ArrowLeftZ>
|
||||
<ArrowLeftW>30</ArrowLeftW>
|
||||
<ArrowLeftH>30</ArrowLeftH>
|
||||
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
|
||||
<ArrowRightX>365</ArrowRightX>
|
||||
<ArrowRightY>140</ArrowRightY>
|
||||
<ArrowRightZ>-2,12</ArrowRightZ>
|
||||
<ArrowRightW>30</ArrowRightW>
|
||||
<ArrowRightH>30</ArrowRightH>
|
||||
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonColor</Color>
|
||||
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>ButtonSColor</SColor>
|
||||
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
|
||||
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
|
||||
<HColor>SelectSlideHColor</HColor>
|
||||
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
|
||||
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
|
||||
<ArrowColor>ArrowColor</ArrowColor>
|
||||
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
|
||||
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
|
||||
<ArrowSColor>ArrowSColor</ArrowSColor>
|
||||
<!--<TextColor>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
|
||||
<TextColor>TextColor</TextColor>
|
||||
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
|
||||
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
|
||||
<TextSColor>TextSColor</TextSColor>
|
||||
<!--<TextH>: Text height-->
|
||||
<TextH>30</TextH>
|
||||
<!--<TextMaxW>: Maximum text width (if exists)-->
|
||||
<TextMaxW>280</TextMaxW>
|
||||
<!--<TextFont>: Text font name-->
|
||||
<TextFont>Outline</TextFont>
|
||||
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<TextStyle>Bold</TextStyle>
|
||||
<!--<NumVisible>: Number of visible elements in the slide-->
|
||||
<NumVisible>1</NumVisible>
|
||||
</SelectSlideOptionsMode>
|
||||
<SongMenu>
|
||||
<!--<CoverBackground>: Texture name of cover background/tiles-->
|
||||
<CoverBackground>CoverTile</CoverBackground>
|
||||
@@ -395,4 +648,4 @@
|
||||
</SongMenuTileBoard>
|
||||
</SongMenu>
|
||||
</ScreenSong>
|
||||
</root>
|
||||
</root>
|
||||
@@ -308,6 +308,7 @@
|
||||
<PlayIcon>PlayIcon.png</PlayIcon>
|
||||
<PauseIcon>PauseIcon.png</PauseIcon>
|
||||
<RepeatIcon>RepeatIcon.png</RepeatIcon>
|
||||
<SongMenuBG>SongMenuBG.png</SongMenuBG>
|
||||
</Skins>
|
||||
<Videos>
|
||||
<BG_Video>[Blue]BG_Video.mp4</BG_Video>
|
||||
|
||||
@@ -308,6 +308,7 @@
|
||||
<PlayIcon>PlayIcon.png</PlayIcon>
|
||||
<PauseIcon>PauseIcon.png</PauseIcon>
|
||||
<RepeatIcon>RepeatIcon.png</RepeatIcon>
|
||||
<SongMenuBG>SongMenuBG.png</SongMenuBG>
|
||||
</Skins>
|
||||
<Videos>
|
||||
<BG_Video>[Green]BG_Video.mp4</BG_Video>
|
||||
|
||||
@@ -308,6 +308,7 @@
|
||||
<PlayIcon>PlayIcon.png</PlayIcon>
|
||||
<PauseIcon>PauseIcon.png</PauseIcon>
|
||||
<RepeatIcon>RepeatIcon.png</RepeatIcon>
|
||||
<SongMenuBG>SongMenuBG.png</SongMenuBG>
|
||||
</Skins>
|
||||
<Videos>
|
||||
<BG_Video>[Red]BG_Video.mp4</BG_Video>
|
||||
|
||||
@@ -308,6 +308,7 @@
|
||||
<PlayIcon>PlayIcon.png</PlayIcon>
|
||||
<PauseIcon>PauseIcon.png</PauseIcon>
|
||||
<RepeatIcon>RepeatIcon.png</RepeatIcon>
|
||||
<SongMenuBG>SongMenuBG.png</SongMenuBG>
|
||||
</Skins>
|
||||
<Videos>
|
||||
<BG_Video>[Yellow]BG_Video.mp4</BG_Video>
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
+226
-82
@@ -17,22 +17,35 @@ namespace Vocaluxe.Screens
|
||||
class CScreenSong : CMenu
|
||||
{
|
||||
// Version number for theme files. Increment it, if you've changed something on the theme files!
|
||||
const int ScreenVersion = 2;
|
||||
const int ScreenVersion = 3;
|
||||
|
||||
private const string TextCategory = "TextCategory";
|
||||
private const string TextSelection = "TextSelection";
|
||||
private const string TextSearchBarTitle = "TextSearchBarTitle";
|
||||
private const string TextSearchBar = "TextSearchBar";
|
||||
private const string TextOptionsTitle = "TextOptionsTitle";
|
||||
|
||||
private const string ButtonOptionsSing = "ButtonOptionsSing";
|
||||
private const string ButtonOptionsPlaylist = "ButtonOptionsPlaylist";
|
||||
private const string ButtonOptionsClose = "ButtonOptionsClose";
|
||||
|
||||
private const string SelectSlideOptionsMode = "SelectSlideOptionsMode";
|
||||
|
||||
private const string StaticSearchBar = "StaticSearchBar";
|
||||
private const string StaticOptionsBG = "StaticOptionsBG";
|
||||
private const string SongMenu = "SongMenu";
|
||||
|
||||
private string _SearchText = String.Empty;
|
||||
private bool _SearchActive = false;
|
||||
|
||||
private bool _SongOptionsActive = false;
|
||||
private List<GameModes.EGameMode> _AvailableGameModes;
|
||||
|
||||
public CScreenSong()
|
||||
{
|
||||
Init();
|
||||
|
||||
_AvailableGameModes = new List<GameModes.EGameMode>();
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
@@ -41,87 +54,76 @@ namespace Vocaluxe.Screens
|
||||
|
||||
_ThemeName = "ScreenSong";
|
||||
_ScreenVersion = ScreenVersion;
|
||||
_ThemeStatics = new string[] { StaticSearchBar };
|
||||
_ThemeTexts = new string[] { TextCategory, TextSelection, TextSearchBarTitle, TextSearchBar };
|
||||
_ThemeStatics = new string[] { StaticSearchBar, StaticOptionsBG };
|
||||
_ThemeTexts = new string[] { TextCategory, TextSelection, TextSearchBarTitle, TextSearchBar, TextOptionsTitle };
|
||||
_ThemeButtons = new string[] { ButtonOptionsClose, ButtonOptionsPlaylist, ButtonOptionsSing };
|
||||
_ThemeSelectSlides = new string[] { SelectSlideOptionsMode };
|
||||
_ThemeSongMenus = new string[] { SongMenu };
|
||||
}
|
||||
|
||||
public override void LoadTheme()
|
||||
{
|
||||
base.LoadTheme();
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsClose)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsSing)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsPlaylist)].Visible = false;
|
||||
Texts[htTexts(TextOptionsTitle)].Visible = false;
|
||||
Statics[htStatics(StaticOptionsBG)].Visible = false;
|
||||
}
|
||||
|
||||
public override bool HandleInput(KeyEvent KeyEvent)
|
||||
{
|
||||
base.HandleInput(KeyEvent);
|
||||
|
||||
if (KeyEvent.KeyPressed && !Char.IsControl(KeyEvent.Unicode))
|
||||
if (!_SongOptionsActive)
|
||||
{
|
||||
if (_SearchActive)
|
||||
ApplyNewSearchFilter(_SearchText + KeyEvent.Unicode);
|
||||
/*
|
||||
else if (!Char.IsControl(KeyEvent.Unicode))
|
||||
|
||||
if (KeyEvent.KeyPressed && !Char.IsControl(KeyEvent.Unicode))
|
||||
{
|
||||
JumpTo(KeyEvent.Unicode);
|
||||
return true;
|
||||
} */
|
||||
}
|
||||
else
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].HandleInput(ref KeyEvent);
|
||||
|
||||
if (KeyEvent.Handled)
|
||||
return true;
|
||||
|
||||
switch (KeyEvent.Key)
|
||||
if (_SearchActive)
|
||||
ApplyNewSearchFilter(_SearchText + KeyEvent.Unicode);
|
||||
/*
|
||||
else if (!Char.IsControl(KeyEvent.Unicode))
|
||||
{
|
||||
JumpTo(KeyEvent.Unicode);
|
||||
return true;
|
||||
} */
|
||||
}
|
||||
else
|
||||
{
|
||||
case Keys.Escape:
|
||||
if (CSongs.Category < 0 || CConfig.Tabs == EOffOn.TR_CONFIG_OFF)
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
break;
|
||||
SongMenus[htSongMenus(SongMenu)].HandleInput(ref KeyEvent);
|
||||
|
||||
case Keys.Enter:
|
||||
if (CSongs.NumVisibleSongs > 0)
|
||||
StartSong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
|
||||
break;
|
||||
if (KeyEvent.Handled)
|
||||
return true;
|
||||
|
||||
case Keys.Back:
|
||||
if (_SearchText.Length > 0)
|
||||
{
|
||||
ApplyNewSearchFilter(_SearchText.Remove(_SearchText.Length - 1));
|
||||
}
|
||||
switch (KeyEvent.Key)
|
||||
{
|
||||
case Keys.Escape:
|
||||
if (CSongs.Category < 0 || CConfig.Tabs == EOffOn.TR_CONFIG_OFF)
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
break;
|
||||
|
||||
if (!_SearchActive && CSongs.Category < 0)
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
case Keys.Enter:
|
||||
if (CSongs.NumVisibleSongs > 0)
|
||||
{
|
||||
if (SongMenus[htSongMenus(SongMenu)].GetSelectedSong() != -1 && !_SongOptionsActive)
|
||||
ToggleSongOptions();
|
||||
}
|
||||
break;
|
||||
|
||||
break;
|
||||
case Keys.Back:
|
||||
if (_SearchText.Length > 0)
|
||||
{
|
||||
ApplyNewSearchFilter(_SearchText.Remove(_SearchText.Length - 1));
|
||||
}
|
||||
|
||||
case Keys.F3:
|
||||
if (_SearchActive)
|
||||
{
|
||||
_SearchActive = false;
|
||||
_SearchText = String.Empty;
|
||||
ApplyNewSearchFilter(_SearchText);
|
||||
}
|
||||
else
|
||||
{
|
||||
_SearchActive = true;
|
||||
}
|
||||
break;
|
||||
if (!_SearchActive && CSongs.Category < 0)
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
|
||||
case Keys.A:
|
||||
if (!_SearchActive && KeyEvent.Mod == Modifier.None)
|
||||
{
|
||||
StartRandomAllSongs();
|
||||
}
|
||||
if (KeyEvent.Mod == Modifier.Ctrl)
|
||||
{
|
||||
StartRandomVisibleSongs();
|
||||
}
|
||||
break;
|
||||
break;
|
||||
|
||||
case Keys.F:
|
||||
if (KeyEvent.Mod == Modifier.Ctrl){
|
||||
case Keys.F3:
|
||||
if (_SearchActive)
|
||||
{
|
||||
_SearchActive = false;
|
||||
@@ -132,19 +134,69 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
_SearchActive = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
|
||||
case Keys.R:
|
||||
if (CSongs.Category != -1 && KeyEvent.Mod == Modifier.Ctrl)
|
||||
case Keys.A:
|
||||
if (!_SearchActive && KeyEvent.Mod == Modifier.None)
|
||||
{
|
||||
StartRandomAllSongs();
|
||||
}
|
||||
if (KeyEvent.Mod == Modifier.Ctrl)
|
||||
{
|
||||
StartRandomVisibleSongs();
|
||||
}
|
||||
break;
|
||||
|
||||
case Keys.F:
|
||||
if (KeyEvent.Mod == Modifier.Ctrl)
|
||||
{
|
||||
if (_SearchActive)
|
||||
{
|
||||
_SearchActive = false;
|
||||
_SearchText = String.Empty;
|
||||
ApplyNewSearchFilter(_SearchText);
|
||||
}
|
||||
else
|
||||
{
|
||||
_SearchActive = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case Keys.R:
|
||||
if (CSongs.Category != -1 && KeyEvent.Mod == Modifier.Ctrl)
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
|
||||
}
|
||||
break;
|
||||
|
||||
case Keys.S:
|
||||
if (CSongs.NumVisibleSongs > 0)
|
||||
StartMedleySong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
switch (KeyEvent.Key)
|
||||
{
|
||||
case Keys.Enter:
|
||||
if (Buttons[htButtons(ButtonOptionsClose)].Selected)
|
||||
ToggleSongOptions();
|
||||
else if (Buttons[htButtons(ButtonOptionsSing)].Selected)
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
|
||||
ToggleSongOptions();
|
||||
StartSong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsPlaylist)].Selected)
|
||||
ToggleSongOptions();
|
||||
break;
|
||||
|
||||
case Keys.S:
|
||||
if (CSongs.NumVisibleSongs > 0)
|
||||
StartMedleySong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
|
||||
case Keys.Escape:
|
||||
case Keys.Back:
|
||||
ToggleSongOptions();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -156,22 +208,55 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
base.HandleMouse(MouseEvent);
|
||||
|
||||
if ((MouseEvent.RB) && (CSongs.Category < 0))
|
||||
if (!_SongOptionsActive)
|
||||
{
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
|
||||
if ((MouseEvent.RB) && (CSongs.Category < 0))
|
||||
{
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
}
|
||||
else if (MouseEvent.RB && _SongOptionsActive)
|
||||
ToggleSongOptions();
|
||||
|
||||
if (MouseEvent.MB && CSongs.Category != -1)
|
||||
{
|
||||
Console.WriteLine("MB pressed");
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
|
||||
}
|
||||
else
|
||||
SongMenus[htSongMenus(SongMenu)].HandleMouse(ref MouseEvent);
|
||||
|
||||
if (MouseEvent.LB && CSongs.NumVisibleSongs > 0 && SongMenus[htSongMenus(SongMenu)].GetActualSelection() != -1)
|
||||
{
|
||||
if (SongMenus[htSongMenus(SongMenu)].GetSelectedSong() != -1 && !_SongOptionsActive)
|
||||
{
|
||||
ToggleSongOptions();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (MouseEvent.MB && CSongs.Category != -1)
|
||||
{
|
||||
Console.WriteLine("MB pressed");
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
|
||||
}
|
||||
else
|
||||
SongMenus[htSongMenus(SongMenu)].HandleMouse(ref MouseEvent);
|
||||
|
||||
if (MouseEvent.LB && CSongs.NumVisibleSongs > 0 && SongMenus[htSongMenus(SongMenu)].GetActualSelection() != -1)
|
||||
{
|
||||
StartSong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
|
||||
if (MouseEvent.LB && IsMouseOver(MouseEvent))
|
||||
{
|
||||
if (Buttons[htButtons(ButtonOptionsClose)].Selected)
|
||||
{
|
||||
ToggleSongOptions();
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsSing)].Selected)
|
||||
{
|
||||
ToggleSongOptions();
|
||||
StartSong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsPlaylist)].Selected)
|
||||
{
|
||||
ToggleSongOptions();
|
||||
}
|
||||
}
|
||||
if (MouseEvent.RB)
|
||||
{
|
||||
ToggleSongOptions();
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -230,6 +315,17 @@ namespace Vocaluxe.Screens
|
||||
base.Draw();
|
||||
SongMenus[htSongMenus(SongMenu)].Draw();
|
||||
|
||||
if (_SongOptionsActive)
|
||||
{
|
||||
Statics[htStatics(StaticOptionsBG)].Draw();
|
||||
Texts[htTexts(TextOptionsTitle)].Draw();
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Draw();
|
||||
Buttons[htButtons(ButtonOptionsClose)].Draw();
|
||||
Buttons[htButtons(ButtonOptionsSing)].Draw();
|
||||
Buttons[htButtons(ButtonOptionsPlaylist)].Draw();
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -244,10 +340,17 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
if ((CSongs.Category >= 0) && (SongNr >= 0))
|
||||
{
|
||||
if (CSongs.VisibleSongs[SongNr].IsDuet)
|
||||
CGame.SetGameMode(GameModes.EGameMode.Duet);
|
||||
if (_AvailableGameModes.Count >= SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection)
|
||||
{
|
||||
CGame.SetGameMode(_AvailableGameModes[SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection]);
|
||||
}
|
||||
else
|
||||
CGame.SetGameMode(GameModes.EGameMode.Normal);
|
||||
{
|
||||
if (CSongs.VisibleSongs[SongNr].IsDuet)
|
||||
CGame.SetGameMode(GameModes.EGameMode.Duet);
|
||||
else
|
||||
CGame.SetGameMode(GameModes.EGameMode.Normal);
|
||||
}
|
||||
|
||||
CGame.Reset();
|
||||
CGame.ClearSongs();
|
||||
@@ -377,5 +480,46 @@ namespace Vocaluxe.Screens
|
||||
|
||||
SongMenus[htSongMenus(SongMenu)].OnShow();
|
||||
}
|
||||
|
||||
private void ToggleSongOptions()
|
||||
{
|
||||
_SongOptionsActive = !_SongOptionsActive;
|
||||
if (_SongOptionsActive)
|
||||
{
|
||||
SetInteractionToButton(Buttons[htButtons(ButtonOptionsSing)]);
|
||||
_AvailableGameModes.Clear();
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Clear();
|
||||
if (!CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].IsDuet)
|
||||
{
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.Normal));
|
||||
_AvailableGameModes.Add(GameModes.EGameMode.Normal);
|
||||
}
|
||||
if (CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].IsDuet)
|
||||
{
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.Duet));
|
||||
_AvailableGameModes.Add(GameModes.EGameMode.Duet);
|
||||
}
|
||||
if (CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].Medley.Source != EMedleySource.None)
|
||||
{
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.Medley));
|
||||
_AvailableGameModes.Add(GameModes.EGameMode.Medley);
|
||||
}
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Visible = true;
|
||||
Buttons[htButtons(ButtonOptionsClose)].Visible = true;
|
||||
Buttons[htButtons(ButtonOptionsSing)].Visible = true;
|
||||
Buttons[htButtons(ButtonOptionsPlaylist)].Visible = true;
|
||||
Texts[htTexts(TextOptionsTitle)].Visible = true;
|
||||
Statics[htStatics(StaticOptionsBG)].Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsClose)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsSing)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsPlaylist)].Visible = false;
|
||||
Texts[htTexts(TextOptionsTitle)].Visible = false;
|
||||
Statics[htStatics(StaticOptionsBG)].Visible = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user