Simpler Screens

This commit is contained in:
Flamefire committed 2013-03-19 17:43:11 +01:00
1 parent c3b447ccf6
commit 6380c739aa
38 files changed
+378 -539

No files matched your search

Binary file not shown.
@@ -10,7 +10,7 @@ namespace Vocaluxe.PartyModes
public class PartyScreenChallengeConfig : CMenuParty public class PartyScreenChallengeConfig : CMenuParty
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
const string SelectSlideNumPlayers = "SelectSlideNumPlayers"; const string SelectSlideNumPlayers = "SelectSlideNumPlayers";
const string SelectSlideNumMics = "SelectSlideNumMics"; const string SelectSlideNumMics = "SelectSlideNumMics";
@@ -28,14 +28,12 @@ namespace Vocaluxe.PartyModes
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "PartyScreenChallengeConfig";
_ThemeSelectSlides = new string[] { SelectSlideNumPlayers, SelectSlideNumMics, SelectSlideNumRounds }; _ThemeSelectSlides = new string[] { SelectSlideNumPlayers, SelectSlideNumMics, SelectSlideNumRounds };
_ThemeButtons = new string[] { ButtonNext, ButtonBack }; _ThemeButtons = new string[] { ButtonNext, ButtonBack };
_ScreenVersion = ScreenVersion;
Data = new DataFromScreen(); Data = new DataFromScreen();
FromScreenConfig config = new FromScreenConfig(); FromScreenConfig config = new FromScreenConfig();
@@ -63,7 +61,7 @@ namespace Vocaluxe.PartyModes
} }
catch (Exception e) catch (Exception e)
{ {
CBase.Log.LogError("Error in party mode screen challenge config. Can't cast received data from game mode " + _ThemeName + ". " + e.Message);; CBase.Log.LogError("Error in party mode screen challenge config. Can't cast received data from game mode " + ThemeName + ". " + e.Message);;
} }
} }
@@ -153,11 +151,6 @@ namespace Vocaluxe.PartyModes
return true; return true;
} }
public override void OnClose()
{
base.OnClose();
}
private void RebuildSlides() private void RebuildSlides()
{ {
// build num player slide (min player ... max player); // build num player slide (min player ... max player);
@@ -251,7 +244,7 @@ namespace Vocaluxe.PartyModes
private void Next() private void Next()
{ {
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
} }
} }
@@ -28,7 +28,7 @@ namespace Vocaluxe.PartyModes
public class PartyScreenChallengeMain : CMenuParty public class PartyScreenChallengeMain : CMenuParty
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
const string TextPosition = "TextPosition"; const string TextPosition = "TextPosition";
const string TextPlayerName = "TextPlayerName"; const string TextPlayerName = "TextPlayerName";
@@ -81,15 +81,13 @@ namespace Vocaluxe.PartyModes
Data.ScreenMain = new FromScreenMain(); Data.ScreenMain = new FromScreenMain();
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "PartyScreenChallengeMain";
_ThemeTexts = new string[] { TextPosition, TextPlayerName, TextNumPlayed, TextWon, TextSingPoints, TextGamePoints, TextNextPlayer, TextPopupReallyExit, TextRoundNumber, TextRoundPlayer, TextRoundScore, TextFinishMessage, TextFinishPlayerWin, TextNextPlayerMessage }; _ThemeTexts = new string[] { TextPosition, TextPlayerName, TextNumPlayed, TextWon, TextSingPoints, TextGamePoints, TextNextPlayer, TextPopupReallyExit, TextRoundNumber, TextRoundPlayer, TextRoundScore, TextFinishMessage, TextFinishPlayerWin, TextNextPlayerMessage };
_ThemeButtons = new string[] { ButtonNextRound, ButtonBack, ButtonExit, ButtonPopupYes, ButtonPopupNo, ButtonPlayerScrollDown, ButtonPlayerScrollUp, ButtonRoundsScrollDown, ButtonRoundsScrollUp }; _ThemeButtons = new string[] { ButtonNextRound, ButtonBack, ButtonExit, ButtonPopupYes, ButtonPopupNo, ButtonPlayerScrollDown, ButtonPlayerScrollUp, ButtonRoundsScrollDown, ButtonRoundsScrollUp };
_ThemeStatics = new string[] { StaticPopupBG, StaticNextPlayer }; _ThemeStatics = new string[] { StaticPopupBG, StaticNextPlayer };
_ScreenVersion = ScreenVersion;
} }
public override void LoadTheme(string XmlPath) public override void LoadTheme(string XmlPath)
@@ -122,7 +120,7 @@ namespace Vocaluxe.PartyModes
} }
catch (Exception e) catch (Exception e)
{ {
CBase.Log.LogError("Error in party mode screen challenge main. Can't cast received data from game mode " + _ThemeName + ". " + e.Message); ; CBase.Log.LogError("Error in party mode screen challenge main. Can't cast received data from game mode " + ThemeName + ". " + e.Message); ;
} }
} }
@@ -292,16 +290,11 @@ namespace Vocaluxe.PartyModes
return true; return true;
} }
public override void OnClose()
{
base.OnClose();
}
private void NextRound() private void NextRound()
{ {
Data.ScreenMain.FadeToNameSelection = false; Data.ScreenMain.FadeToNameSelection = false;
Data.ScreenMain.FadeToSongSelection = true; Data.ScreenMain.FadeToSongSelection = true;
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
private void EndParty() private void EndParty()
@@ -326,7 +319,7 @@ namespace Vocaluxe.PartyModes
{ {
Data.ScreenMain.FadeToNameSelection = true; Data.ScreenMain.FadeToNameSelection = true;
Data.ScreenMain.FadeToSongSelection = false; Data.ScreenMain.FadeToSongSelection = false;
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
private void UpdateNextPlayerPositions() private void UpdateNextPlayerPositions()
@@ -10,7 +10,7 @@ namespace Vocaluxe.PartyModes
public class PartyScreenChallengeNames : CMenuParty public class PartyScreenChallengeNames : CMenuParty
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
const string ButtonNext = "ButtonNext"; const string ButtonNext = "ButtonNext";
const string ButtonBack = "ButtonBack"; const string ButtonBack = "ButtonBack";
@@ -57,7 +57,7 @@ namespace Vocaluxe.PartyModes
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
@@ -68,10 +68,8 @@ namespace Vocaluxe.PartyModes
Data.ScreenNames.ProfileIDs = new List<int>(); Data.ScreenNames.ProfileIDs = new List<int>();
_ThemeName = "PartyScreenChallengeNames";
List<string> buttons = new List<string>(); List<string> buttons = new List<string>();
_ThemeButtons = new string[] { ButtonBack, ButtonNext, ButtonPlayerDestination, ButtonPlayerChoose }; _ThemeButtons = new string[] { ButtonBack, ButtonNext, ButtonPlayerDestination, ButtonPlayerChoose };
_ScreenVersion = ScreenVersion;
Data = new DataFromScreen(); Data = new DataFromScreen();
FromScreenNames names = new FromScreenNames(); FromScreenNames names = new FromScreenNames();
@@ -108,7 +106,7 @@ namespace Vocaluxe.PartyModes
} }
catch (Exception e) catch (Exception e)
{ {
CBase.Log.LogError("Error in party mode screen challenge names. Can't cast received data from game mode " + _ThemeName + ". " + e.Message); ; CBase.Log.LogError("Error in party mode screen challenge names. Can't cast received data from game mode " + ThemeName + ". " + e.Message); ;
} }
} }
@@ -286,11 +284,6 @@ namespace Vocaluxe.PartyModes
return true; return true;
} }
public override void OnClose()
{
base.OnClose();
}
private void AddButtonPlayerDestination() private void AddButtonPlayerDestination()
{ {
Buttons[ButtonPlayerDestination].Visible = false; Buttons[ButtonPlayerDestination].Visible = false;
@@ -521,14 +514,14 @@ namespace Vocaluxe.PartyModes
{ {
Data.ScreenNames.FadeToConfig = true; Data.ScreenNames.FadeToConfig = true;
Data.ScreenNames.FadeToMain = false; Data.ScreenNames.FadeToMain = false;
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
private void Next() private void Next()
{ {
Data.ScreenNames.FadeToConfig = false; Data.ScreenNames.FadeToConfig = false;
Data.ScreenNames.FadeToMain = true; Data.ScreenNames.FadeToMain = true;
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
} }
} }
@@ -10,7 +10,7 @@ namespace Vocaluxe.PartyModes
public class PartyScreenChallengeConfig : CMenuParty public class PartyScreenChallengeConfig : CMenuParty
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
const string SelectSlideNumPlayers = "SelectSlideNumPlayers"; const string SelectSlideNumPlayers = "SelectSlideNumPlayers";
const string SelectSlideNumMics = "SelectSlideNumMics"; const string SelectSlideNumMics = "SelectSlideNumMics";
@@ -28,14 +28,12 @@ namespace Vocaluxe.PartyModes
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "PartyScreenChallengeConfig";
_ThemeSelectSlides = new string[] { SelectSlideNumPlayers, SelectSlideNumMics, SelectSlideNumRounds }; _ThemeSelectSlides = new string[] { SelectSlideNumPlayers, SelectSlideNumMics, SelectSlideNumRounds };
_ThemeButtons = new string[] { ButtonNext, ButtonBack }; _ThemeButtons = new string[] { ButtonNext, ButtonBack };
_ScreenVersion = ScreenVersion;
Data = new DataFromScreen(); Data = new DataFromScreen();
FromScreenConfig config = new FromScreenConfig(); FromScreenConfig config = new FromScreenConfig();
@@ -63,7 +61,7 @@ namespace Vocaluxe.PartyModes
} }
catch (Exception e) catch (Exception e)
{ {
CBase.Log.LogError("Error in party mode screen challenge config. Can't cast received data from game mode " + _ThemeName + ". " + e.Message);; CBase.Log.LogError("Error in party mode screen challenge config. Can't cast received data from game mode " + ThemeName + ". " + e.Message);;
} }
} }
@@ -153,11 +151,6 @@ namespace Vocaluxe.PartyModes
return true; return true;
} }
public override void OnClose()
{
base.OnClose();
}
private void RebuildSlides() private void RebuildSlides()
{ {
// build num player slide (min player ... max player); // build num player slide (min player ... max player);
@@ -251,7 +244,7 @@ namespace Vocaluxe.PartyModes
private void Next() private void Next()
{ {
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
} }
} }
@@ -28,7 +28,7 @@ namespace Vocaluxe.PartyModes
public class PartyScreenChallengeMain : CMenuParty public class PartyScreenChallengeMain : CMenuParty
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
const string TextPosition = "TextPosition"; const string TextPosition = "TextPosition";
const string TextPlayerName = "TextPlayerName"; const string TextPlayerName = "TextPlayerName";
@@ -81,15 +81,13 @@ namespace Vocaluxe.PartyModes
Data.ScreenMain = new FromScreenMain(); Data.ScreenMain = new FromScreenMain();
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "PartyScreenChallengeMain";
_ThemeTexts = new string[] { TextPosition, TextPlayerName, TextNumPlayed, TextWon, TextSingPoints, TextGamePoints, TextNextPlayer, TextPopupReallyExit, TextRoundNumber, TextRoundPlayer, TextRoundScore, TextFinishMessage, TextFinishPlayerWin, TextNextPlayerMessage }; _ThemeTexts = new string[] { TextPosition, TextPlayerName, TextNumPlayed, TextWon, TextSingPoints, TextGamePoints, TextNextPlayer, TextPopupReallyExit, TextRoundNumber, TextRoundPlayer, TextRoundScore, TextFinishMessage, TextFinishPlayerWin, TextNextPlayerMessage };
_ThemeButtons = new string[] { ButtonNextRound, ButtonBack, ButtonExit, ButtonPopupYes, ButtonPopupNo, ButtonPlayerScrollDown, ButtonPlayerScrollUp, ButtonRoundsScrollDown, ButtonRoundsScrollUp }; _ThemeButtons = new string[] { ButtonNextRound, ButtonBack, ButtonExit, ButtonPopupYes, ButtonPopupNo, ButtonPlayerScrollDown, ButtonPlayerScrollUp, ButtonRoundsScrollDown, ButtonRoundsScrollUp };
_ThemeStatics = new string[] { StaticPopupBG, StaticNextPlayer }; _ThemeStatics = new string[] { StaticPopupBG, StaticNextPlayer };
_ScreenVersion = ScreenVersion;
} }
public override void LoadTheme(string XmlPath) public override void LoadTheme(string XmlPath)
@@ -122,7 +120,7 @@ namespace Vocaluxe.PartyModes
} }
catch (Exception e) catch (Exception e)
{ {
CBase.Log.LogError("Error in party mode screen challenge main. Can't cast received data from game mode " + _ThemeName + ". " + e.Message); ; CBase.Log.LogError("Error in party mode screen challenge main. Can't cast received data from game mode " + ThemeName + ". " + e.Message); ;
} }
} }
@@ -292,16 +290,11 @@ namespace Vocaluxe.PartyModes
return true; return true;
} }
public override void OnClose()
{
base.OnClose();
}
private void NextRound() private void NextRound()
{ {
Data.ScreenMain.FadeToNameSelection = false; Data.ScreenMain.FadeToNameSelection = false;
Data.ScreenMain.FadeToSongSelection = true; Data.ScreenMain.FadeToSongSelection = true;
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
private void EndParty() private void EndParty()
@@ -326,7 +319,7 @@ namespace Vocaluxe.PartyModes
{ {
Data.ScreenMain.FadeToNameSelection = true; Data.ScreenMain.FadeToNameSelection = true;
Data.ScreenMain.FadeToSongSelection = false; Data.ScreenMain.FadeToSongSelection = false;
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
private void UpdateNextPlayerPositions() private void UpdateNextPlayerPositions()
@@ -10,7 +10,7 @@ namespace Vocaluxe.PartyModes
public class PartyScreenChallengeNames : CMenuParty public class PartyScreenChallengeNames : CMenuParty
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
const string ButtonNext = "ButtonNext"; const string ButtonNext = "ButtonNext";
const string ButtonBack = "ButtonBack"; const string ButtonBack = "ButtonBack";
@@ -57,7 +57,7 @@ namespace Vocaluxe.PartyModes
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
@@ -68,10 +68,8 @@ namespace Vocaluxe.PartyModes
Data.ScreenNames.ProfileIDs = new List<int>(); Data.ScreenNames.ProfileIDs = new List<int>();
_ThemeName = "PartyScreenChallengeNames";
List<string> buttons = new List<string>(); List<string> buttons = new List<string>();
_ThemeButtons = new string[] { ButtonBack, ButtonNext, ButtonPlayerDestination, ButtonPlayerChoose }; _ThemeButtons = new string[] { ButtonBack, ButtonNext, ButtonPlayerDestination, ButtonPlayerChoose };
_ScreenVersion = ScreenVersion;
Data = new DataFromScreen(); Data = new DataFromScreen();
FromScreenNames names = new FromScreenNames(); FromScreenNames names = new FromScreenNames();
@@ -108,7 +106,7 @@ namespace Vocaluxe.PartyModes
} }
catch (Exception e) catch (Exception e)
{ {
CBase.Log.LogError("Error in party mode screen challenge names. Can't cast received data from game mode " + _ThemeName + ". " + e.Message); ; CBase.Log.LogError("Error in party mode screen challenge names. Can't cast received data from game mode " + ThemeName + ". " + e.Message); ;
} }
} }
@@ -286,11 +284,6 @@ namespace Vocaluxe.PartyModes
return true; return true;
} }
public override void OnClose()
{
base.OnClose();
}
private void AddButtonPlayerDestination() private void AddButtonPlayerDestination()
{ {
Buttons[ButtonPlayerDestination].Visible = false; Buttons[ButtonPlayerDestination].Visible = false;
@@ -521,14 +514,14 @@ namespace Vocaluxe.PartyModes
{ {
Data.ScreenNames.FadeToConfig = true; Data.ScreenNames.FadeToConfig = true;
Data.ScreenNames.FadeToMain = false; Data.ScreenNames.FadeToMain = false;
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
private void Next() private void Next()
{ {
Data.ScreenNames.FadeToConfig = false; Data.ScreenNames.FadeToConfig = false;
Data.ScreenNames.FadeToMain = true; Data.ScreenNames.FadeToMain = true;
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
} }
} }
@@ -10,7 +10,7 @@ namespace Vocaluxe.PartyModes
public class PartyScreenTicTacToeConfig : CMenuParty public class PartyScreenTicTacToeConfig : CMenuParty
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
const string SelectSlideNumPlayerTeam1 = "SelectSlideNumPlayerTeam1"; const string SelectSlideNumPlayerTeam1 = "SelectSlideNumPlayerTeam1";
const string SelectSlideNumPlayerTeam2 = "SelectSlideNumPlayerTeam2"; const string SelectSlideNumPlayerTeam2 = "SelectSlideNumPlayerTeam2";
@@ -30,14 +30,12 @@ namespace Vocaluxe.PartyModes
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "PartyScreenTicTacToeConfig";
_ThemeSelectSlides = new string[] { SelectSlideNumPlayerTeam1, SelectSlideNumPlayerTeam2, SelectSlideNumFields, SelectSlideSongSource, SelectSlidePlaylist, SelectSlideCategory, SelectSlideGameMode }; _ThemeSelectSlides = new string[] { SelectSlideNumPlayerTeam1, SelectSlideNumPlayerTeam2, SelectSlideNumFields, SelectSlideSongSource, SelectSlidePlaylist, SelectSlideCategory, SelectSlideGameMode };
_ThemeButtons = new string[] { ButtonNext, ButtonBack }; _ThemeButtons = new string[] { ButtonNext, ButtonBack };
_ScreenVersion = ScreenVersion;
Data = new DataFromScreen(); Data = new DataFromScreen();
FromScreenConfig config = new FromScreenConfig(); FromScreenConfig config = new FromScreenConfig();
@@ -73,7 +71,7 @@ namespace Vocaluxe.PartyModes
} }
catch (Exception e) catch (Exception e)
{ {
CBase.Log.LogError("Error in party mode screen TicTacToe config. Can't cast received data from game mode " + _ThemeName + ". " + e.Message);; CBase.Log.LogError("Error in party mode screen TicTacToe config. Can't cast received data from game mode " + ThemeName + ". " + e.Message);;
} }
} }
@@ -162,11 +160,6 @@ namespace Vocaluxe.PartyModes
return true; return true;
} }
public override void OnClose()
{
base.OnClose();
}
private void FillSlides() private void FillSlides()
{ {
// build num player slide (min player ... max player); // build num player slide (min player ... max player);
@@ -339,7 +332,7 @@ namespace Vocaluxe.PartyModes
private void Next() private void Next()
{ {
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
} }
} }
@@ -24,7 +24,7 @@ namespace Vocaluxe.PartyModes
public class PartyScreenTicTacToeMain : CMenuParty public class PartyScreenTicTacToeMain : CMenuParty
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
const string TextPopupReallyExit = "TextPopupReallyExit"; const string TextPopupReallyExit = "TextPopupReallyExit";
const string TextTeamChoosing = "TextTeamChoosing"; const string TextTeamChoosing = "TextTeamChoosing";
@@ -73,15 +73,13 @@ namespace Vocaluxe.PartyModes
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "PartyScreenTicTacToeMain";
_ThemeTexts = new string[] { TextPopupReallyExit, TextTeamChoosing, TextFinishMessage, TextNextPlayerT1, TextNextPlayerT2, TextNextPlayerNameT1, TextNextPlayerNameT2 }; _ThemeTexts = new string[] { TextPopupReallyExit, TextTeamChoosing, TextFinishMessage, TextNextPlayerT1, TextNextPlayerT2, TextNextPlayerNameT1, TextNextPlayerNameT2 };
_ThemeButtons = new string[] { ButtonNextRound, ButtonBack, ButtonExit, ButtonPopupYes, ButtonPopupNo, ButtonField, ButtonJokerRandomT1, ButtonJokerRandomT2, ButtonJokerRetryT1, ButtonJokerRetryT2 }; _ThemeButtons = new string[] { ButtonNextRound, ButtonBack, ButtonExit, ButtonPopupYes, ButtonPopupNo, ButtonField, ButtonJokerRandomT1, ButtonJokerRandomT2, ButtonJokerRetryT1, ButtonJokerRetryT2 };
_ThemeStatics = new string[] { StaticPopupBG, StaticAvatarT1, StaticAvatarT2 }; _ThemeStatics = new string[] { StaticPopupBG, StaticAvatarT1, StaticAvatarT2 };
_ScreenVersion = ScreenVersion;
Data = new DataFromScreen(); Data = new DataFromScreen();
FromScreenMain config = new FromScreenMain(); FromScreenMain config = new FromScreenMain();
@@ -117,7 +115,7 @@ namespace Vocaluxe.PartyModes
} }
catch (Exception e) catch (Exception e)
{ {
CBase.Log.LogError("Error in party mode screen TicTacToe main. Can't cast received data from game mode " + _ThemeName + ". " + e.Message); ; CBase.Log.LogError("Error in party mode screen TicTacToe main. Can't cast received data from game mode " + ThemeName + ". " + e.Message); ;
} }
} }
@@ -629,7 +627,7 @@ namespace Vocaluxe.PartyModes
Data.ScreenMain.SingRoundNr = SelectedField; Data.ScreenMain.SingRoundNr = SelectedField;
Data.ScreenMain.PlayerTeam1 = GameData.PlayerTeam1; Data.ScreenMain.PlayerTeam1 = GameData.PlayerTeam1;
Data.ScreenMain.PlayerTeam2 = GameData.PlayerTeam2; Data.ScreenMain.PlayerTeam2 = GameData.PlayerTeam2;
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
private void EndParty() private void EndParty()
@@ -657,7 +655,7 @@ namespace Vocaluxe.PartyModes
Data.ScreenMain.FadeToNameSelection = true; Data.ScreenMain.FadeToNameSelection = true;
Data.ScreenMain.FadeToSinging = false; Data.ScreenMain.FadeToSinging = false;
Data.ScreenMain.SingRoundNr = SelectedField; Data.ScreenMain.SingRoundNr = SelectedField;
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
private int BuildWinnerPossibilities() private int BuildWinnerPossibilities()
@@ -10,7 +10,7 @@ namespace Vocaluxe.PartyModes
public class PartyScreenTicTacToeNames : CMenuParty public class PartyScreenTicTacToeNames : CMenuParty
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
const string ButtonNext = "ButtonNext"; const string ButtonNext = "ButtonNext";
const string ButtonBack = "ButtonBack"; const string ButtonBack = "ButtonBack";
@@ -60,7 +60,7 @@ namespace Vocaluxe.PartyModes
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
@@ -72,10 +72,8 @@ namespace Vocaluxe.PartyModes
Data.ScreenNames.ProfileIDsTeam1 = new List<int>(); Data.ScreenNames.ProfileIDsTeam1 = new List<int>();
Data.ScreenNames.ProfileIDsTeam2 = new List<int>(); Data.ScreenNames.ProfileIDsTeam2 = new List<int>();
_ThemeName = "PartyScreenTicTacToeNames";
List<string> buttons = new List<string>(); List<string> buttons = new List<string>();
_ThemeButtons = new string[] { ButtonBack, ButtonNext, ButtonPlayerDestination, ButtonPlayerChoose, ButtonPlayerChooseScrollUp, ButtonPlayerChooseScrollDown }; _ThemeButtons = new string[] { ButtonBack, ButtonNext, ButtonPlayerDestination, ButtonPlayerChoose, ButtonPlayerChooseScrollUp, ButtonPlayerChooseScrollDown };
_ScreenVersion = ScreenVersion;
Data = new DataFromScreen(); Data = new DataFromScreen();
FromScreenNames names = new FromScreenNames(); FromScreenNames names = new FromScreenNames();
@@ -121,7 +119,7 @@ namespace Vocaluxe.PartyModes
} }
catch (Exception e) catch (Exception e)
{ {
CBase.Log.LogError("Error in party mode screen TicTacToe names. Can't cast received data from game mode " + _ThemeName + ". " + e.Message); ; CBase.Log.LogError("Error in party mode screen TicTacToe names. Can't cast received data from game mode " + ThemeName + ". " + e.Message); ;
} }
} }
@@ -332,11 +330,6 @@ namespace Vocaluxe.PartyModes
return true; return true;
} }
public override void OnClose()
{
base.OnClose();
}
private void Scroll(int Offset) private void Scroll(int Offset)
{ {
if (Offset < 0 && PlayerChooseButtonsOffset > 0) if (Offset < 0 && PlayerChooseButtonsOffset > 0)
@@ -663,14 +656,14 @@ namespace Vocaluxe.PartyModes
{ {
Data.ScreenNames.FadeToConfig = true; Data.ScreenNames.FadeToConfig = true;
Data.ScreenNames.FadeToMain = false; Data.ScreenNames.FadeToMain = false;
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
private void Next() private void Next()
{ {
Data.ScreenNames.FadeToConfig = false; Data.ScreenNames.FadeToConfig = false;
Data.ScreenNames.FadeToMain = true; Data.ScreenNames.FadeToMain = true;
_PartyMode.DataFromScreen(_ThemeName, Data); _PartyMode.DataFromScreen(ThemeName, Data);
} }
} }
} }
+25 -33
View File
@@ -1304,7 +1304,6 @@ namespace Vocaluxe.Base
private static bool AddImageToCreditsDB(String ImagePath) private static bool AddImageToCreditsDB(String ImagePath)
{ {
bool result = false; bool result = false;
STexture tex;
if (File.Exists(ImagePath)) if (File.Exists(ImagePath))
{ {
@@ -1339,18 +1338,32 @@ namespace Vocaluxe.Base
try try
{ {
using (Bitmap bmp = new Bitmap(w, h)) data = new byte[w * h * 4];
{
using (Graphics g = Graphics.FromImage(bmp))
{
g.DrawImage(origin, new Rectangle(0, 0, w, h));
}
tex = CDraw.AddTexture(bmp);
data = new byte[w * h * 4];
BitmapData bmp_data = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); BitmapData bmp_data = origin.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
Marshal.Copy(bmp_data.Scan0, data, 0, w * h * 4); Marshal.Copy(bmp_data.Scan0, data, 0, w * h * 4);
bmp.UnlockBits(bmp_data); origin.UnlockBits(bmp_data);
command.CommandText = "INSERT INTO Images (Path, width, height) VALUES (@path, @w, @h)";
command.Parameters.Add("@path", System.Data.DbType.String, 0).Value = Path.GetFileName(ImagePath);
command.Parameters.Add("@w", System.Data.DbType.Int32, 0).Value = w;
command.Parameters.Add("@h", System.Data.DbType.Int32, 0).Value = h;
command.ExecuteNonQuery();
command.CommandText = "SELECT id FROM Images WHERE [Path] = @path";
command.Parameters.Add("@path", System.Data.DbType.String, 0).Value = Path.GetFileName(ImagePath);
SQLiteDataReader reader = command.ExecuteReader();
if (reader != null)
{
reader.Read();
int id = reader.GetInt32(0);
reader.Close();
command.CommandText = "INSERT INTO ImageData (ImageID, Data) VALUES (@id, @data)";
command.Parameters.Add("@id", System.Data.DbType.Int32, 20).Value = id;
command.Parameters.Add("@data", System.Data.DbType.Binary, 20).Value = data;
command.ExecuteReader();
result = true;
} }
} }
finally finally
@@ -1358,27 +1371,6 @@ namespace Vocaluxe.Base
origin.Dispose(); origin.Dispose();
} }
command.CommandText = "INSERT INTO Images (Path, width, height) VALUES (@path, @w, @h)";
command.Parameters.Add("@path", System.Data.DbType.String, 0).Value = Path.GetFileName(ImagePath);
command.Parameters.Add("@w", System.Data.DbType.Int32, 0).Value = w;
command.Parameters.Add("@h", System.Data.DbType.Int32, 0).Value = h;
command.ExecuteNonQuery();
command.CommandText = "SELECT id FROM Images WHERE [Path] = @path";
command.Parameters.Add("@path", System.Data.DbType.String, 0).Value = Path.GetFileName(ImagePath);
SQLiteDataReader reader = command.ExecuteReader();
if (reader != null)
{
reader.Read();
int id = reader.GetInt32(0);
reader.Close();
command.CommandText = "INSERT INTO ImageData (ImageID, Data) VALUES (@id, @data)";
command.Parameters.Add("@id", System.Data.DbType.Int32, 20).Value = id;
command.Parameters.Add("@data", System.Data.DbType.Binary, 20).Value = data;
command.ExecuteReader();
result = true;
}
} }
} }
} }
+4 -4
View File
@@ -251,14 +251,14 @@ namespace Vocaluxe.Base
for (int i = 0; i < _Screens.Count; i++) for (int i = 0; i < _Screens.Count; i++)
{ {
CLog.StartBenchmark(1, "Load Theme " + Enum.GetNames(typeof(EScreens))[i]); CLog.StartBenchmark(1, "Load Theme " + Enum.GetNames(typeof(EScreens))[i]);
_Screens[i].Initialize(); _Screens[i].Init();
_Screens[i].LoadTheme(CTheme.GetThemeScreensPath(-1)); _Screens[i].LoadTheme(CTheme.GetThemeScreensPath(-1));
CLog.StopBenchmark(1, "Load Theme " + Enum.GetNames(typeof(EScreens))[i]); CLog.StopBenchmark(1, "Load Theme " + Enum.GetNames(typeof(EScreens))[i]);
} }
for (int i = 0; i < _PopupScreens.Count; i++) for (int i = 0; i < _PopupScreens.Count; i++)
{ {
_PopupScreens[i].Initialize(); _PopupScreens[i].Init();
_PopupScreens[i].LoadTheme(CTheme.GetThemeScreensPath(-1)); _PopupScreens[i].LoadTheme(CTheme.GetThemeScreensPath(-1));
} }
} }
@@ -644,7 +644,7 @@ namespace Vocaluxe.Base
UpdateMousePosition(MouseEvent.X, MouseEvent.Y); UpdateMousePosition(MouseEvent.X, MouseEvent.Y);
bool isOverPopupPlayerControl = CHelper.IsInBounds(_PopupScreens[(int)EPopupScreens.PopupPlayerControl].GetScreenArea(), MouseEvent); bool isOverPopupPlayerControl = CHelper.IsInBounds(_PopupScreens[(int)EPopupScreens.PopupPlayerControl].ScreenArea, MouseEvent);
if (PopupPlayerControlAllowed && isOverPopupPlayerControl) if (PopupPlayerControlAllowed && isOverPopupPlayerControl)
{ {
if (_CurrentPopupScreen == EPopupScreens.NoPopup && CConfig.BackgroundMusic == EOffOn.TR_CONFIG_ON) if (_CurrentPopupScreen == EPopupScreens.NoPopup && CConfig.BackgroundMusic == EOffOn.TR_CONFIG_ON)
@@ -654,7 +654,7 @@ namespace Vocaluxe.Base
if (!isOverPopupPlayerControl && _CurrentPopupScreen == EPopupScreens.PopupPlayerControl) if (!isOverPopupPlayerControl && _CurrentPopupScreen == EPopupScreens.PopupPlayerControl)
HidePopup(EPopupScreens.PopupPlayerControl); HidePopup(EPopupScreens.PopupPlayerControl);
bool isOverPopupVolumeControl = CHelper.IsInBounds(_PopupScreens[(int)EPopupScreens.PopupVolumeControl].GetScreenArea(), MouseEvent); bool isOverPopupVolumeControl = CHelper.IsInBounds(_PopupScreens[(int)EPopupScreens.PopupVolumeControl].ScreenArea, MouseEvent);
if (PopupVolumeControlAllowed && isOverPopupVolumeControl) if (PopupVolumeControlAllowed && isOverPopupVolumeControl)
{ {
if (_CurrentPopupScreen == EPopupScreens.NoPopup) if (_CurrentPopupScreen == EPopupScreens.NoPopup)
+1 -1
View File
@@ -314,7 +314,7 @@ namespace Vocaluxe.Base
if (Screen != null) if (Screen != null)
{ {
Screen.Initialize(); Screen.Init();
Screen.AssingPartyMode(pm.PartyMode); Screen.AssingPartyMode(pm.PartyMode);
Screen.SetPartyModeID(pm.PartyModeID); Screen.SetPartyModeID(pm.PartyModeID);
Screen.LoadTheme(XmlPath); Screen.LoadTheme(XmlPath);
+2 -10
View File
@@ -15,7 +15,7 @@ namespace Vocaluxe.Screens
class CPopupScreenPlayerControl : CMenu class CPopupScreenPlayerControl : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
private const string StaticBG = "StaticBG"; private const string StaticBG = "StaticBG";
private const string StaticCover = "StaticCover"; private const string StaticCover = "StaticCover";
@@ -78,13 +78,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "PopupScreenPlayerControl";
_ScreenVersion = ScreenVersion;
_ThemeStatics = new string[] { StaticBG, StaticCover }; _ThemeStatics = new string[] { StaticBG, StaticCover };
_ThemeTexts = new string[] { TextCurrentSong }; _ThemeTexts = new string[] { TextCurrentSong };
@@ -191,11 +188,6 @@ namespace Vocaluxe.Screens
return true; return true;
} }
public override void OnShow()
{
base.OnShow();
}
public override bool Draw() public override bool Draw()
{ {
if (!_Active) if (!_Active)
@@ -15,7 +15,7 @@ namespace Vocaluxe.Screens
class CPopupScreenVolumeControl : CMenu class CPopupScreenVolumeControl : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
private const string StaticBG = "StaticBG"; private const string StaticBG = "StaticBG";
@@ -26,13 +26,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "PopupScreenVolumeControl";
_ScreenVersion = ScreenVersion;
_ThemeStatics = new string[] { StaticBG }; _ThemeStatics = new string[] { StaticBG };
_ThemeSelectSlides = new string[] { SelectSlideVolume }; _ThemeSelectSlides = new string[] { SelectSlideVolume };
+165 -176
View File
@@ -18,20 +18,82 @@ enum EDirection
class CCreditName class CCreditName
{ {
public CStatic image; private CStatic _Image;
public CParticleEffect particle; private CStatic _ImgDot;
public SRectF particleRect; private CParticleEffect _Particle;
public EDirection direction; private int _ParticleOffsetX;
private int _ParticleOffsetY;
public EDirection Direction;
public float StartTimeUp; public float StartTimeUp;
public bool active; public bool Active;
public CCreditName(CStatic Image, CStatic ImgDot, CParticleEffect Particle, int ParticleOffsetX, int ParticleOffsetY)
{
_Image = Image;
_ImgDot = ImgDot;
_Particle = Particle;
_ParticleOffsetX = (int)Math.Round(ParticleOffsetX * (float)Image.Rect.W / Image.Texture.w2 - Particle.Rect.W / 2);
_ParticleOffsetY = (int)Math.Round(ParticleOffsetY * (float)Image.Rect.H / Image.Texture.h2 - Particle.Rect.H / 2);
Active = true;
}
public float X
{
get
{
return _Image.Rect.X;
}
set
{
_Image.Rect.X = value;
_ImgDot.Rect.X = value + _ParticleOffsetX;
_Particle.Rect.X = value + _ParticleOffsetX;
}
}
public float Y
{
get
{
return _Image.Rect.Y;
}
set
{
_Image.Rect.Y = value;
_ImgDot.Rect.Y = value + _ParticleOffsetY;
_Particle.Rect.Y = value + _ParticleOffsetY;
}
}
public float W { get { return _Image.Rect.W; } }
public float H { get { return _Image.Rect.H; } }
public float Alpha
{
get { return _Image.Alpha; }
set
{
_Image.Alpha = value;
_ImgDot.Alpha = value;
}
}
public void Draw()
{
if (Active)
{
_Image.Draw();
_ImgDot.Draw();
_Particle.Draw();
}
}
} }
namespace Vocaluxe.Screens namespace Vocaluxe.Screens
{ {
class CScreenCredits :CMenu class CScreenCredits : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
private CStatic logo; private CStatic logo;
private CParticleEffect starsRed; private CParticleEffect starsRed;
@@ -48,6 +110,9 @@ namespace Vocaluxe.Screens
private STexture _TexLogo; private STexture _TexLogo;
private STexture _TexPerfectNoteStar; private STexture _TexPerfectNoteStar;
private STexture _TexRedDot;
private STexture _TexBlueDot;
private STexture _TexNameBrunzel; private STexture _TexNameBrunzel;
private STexture _TexNameDarkice; private STexture _TexNameDarkice;
private STexture _TexNameFlokuep; private STexture _TexNameFlokuep;
@@ -61,13 +126,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenCredits";
_ScreenVersion = ScreenVersion;
LogoTimer = new Stopwatch(); LogoTimer = new Stopwatch();
CreditsTimer = new Stopwatch(); CreditsTimer = new Stopwatch();
TextTimer = new Stopwatch(); TextTimer = new Stopwatch();
@@ -114,28 +176,16 @@ namespace Vocaluxe.Screens
//Little stars for logo //Little stars for logo
CDataBase.GetCreditsRessource("PerfectNoteStar.png", ref _TexPerfectNoteStar); CDataBase.GetCreditsRessource("PerfectNoteStar.png", ref _TexPerfectNoteStar);
//brunzel CDataBase.GetCreditsRessource("redDot.png", ref _TexRedDot);
CDataBase.GetCreditsRessource("blueDot.png", ref _TexBlueDot);
CDataBase.GetCreditsRessource("brunzel.png", ref _TexNameBrunzel); CDataBase.GetCreditsRessource("brunzel.png", ref _TexNameBrunzel);
//Darkice
CDataBase.GetCreditsRessource("Darkice.png", ref _TexNameDarkice); CDataBase.GetCreditsRessource("Darkice.png", ref _TexNameDarkice);
//flokuep
CDataBase.GetCreditsRessource("flokuep.png", ref _TexNameFlokuep); CDataBase.GetCreditsRessource("flokuep.png", ref _TexNameFlokuep);
//bohning
CDataBase.GetCreditsRessource("bohning.png", ref _TexNameBohning); CDataBase.GetCreditsRessource("bohning.png", ref _TexNameBohning);
//mesand
CDataBase.GetCreditsRessource("mesand.png", ref _TexNameMesand); CDataBase.GetCreditsRessource("mesand.png", ref _TexNameMesand);
//babene03
CDataBase.GetCreditsRessource("babene03.png", ref _TexNameBabene03); CDataBase.GetCreditsRessource("babene03.png", ref _TexNameBabene03);
//pantero
CDataBase.GetCreditsRessource("pantero.png", ref _TexNamePantero); CDataBase.GetCreditsRessource("pantero.png", ref _TexNamePantero);
//Pinky007
CDataBase.GetCreditsRessource("Pinky007.png", ref _TexNamePinky007); CDataBase.GetCreditsRessource("Pinky007.png", ref _TexNamePinky007);
//Prepare Text //Prepare Text
@@ -178,25 +228,18 @@ namespace Vocaluxe.Screens
public override void SaveTheme() { } public override void SaveTheme() { }
public override void UnloadTextures() {} public override void UnloadTextures() { }
public override void ReloadTextures() {} public override void ReloadTextures() { }
public override bool HandleInput(KeyEvent KeyEvent) public override bool HandleInput(KeyEvent KeyEvent)
{ {
if (KeyEvent.KeyPressed && !Char.IsControl(KeyEvent.Unicode)) if (!KeyEvent.KeyPressed || Char.IsControl(KeyEvent.Unicode))
{
}
else
{ {
switch (KeyEvent.Key) switch (KeyEvent.Key)
{ {
case Keys.Escape: case Keys.Escape:
case Keys.Back: case Keys.Back:
CGraphics.FadeTo(EScreens.ScreenMain);
break;
case Keys.Enter: case Keys.Enter:
CGraphics.FadeTo(EScreens.ScreenMain); CGraphics.FadeTo(EScreens.ScreenMain);
break; break;
@@ -208,17 +251,7 @@ namespace Vocaluxe.Screens
public override bool HandleMouse(MouseEvent MouseEvent) public override bool HandleMouse(MouseEvent MouseEvent)
{ {
if (MouseEvent.LB && IsMouseOver(MouseEvent)) if (MouseEvent.LB || MouseEvent.RB)
{
}
if (MouseEvent.LB)
{
CGraphics.FadeTo(EScreens.ScreenMain);
}
if (MouseEvent.RB)
{ {
CGraphics.FadeTo(EScreens.ScreenMain); CGraphics.FadeTo(EScreens.ScreenMain);
} }
@@ -234,6 +267,46 @@ namespace Vocaluxe.Screens
return true; return true;
} }
public CParticleEffect _GetStarParticles(int NumStars, bool isRed, SRectF Rect, bool BigParticles)
{
SColorF partColor = (isRed) ? new SColorF(1, 0, 0, 1) : new SColorF(0.149f, 0.415f, 0.819f, 1);
int partSize = (BigParticles) ? 35 : 25;
return GetNewParticleEffect(NumStars, partColor, Rect, _TexPerfectNoteStar, partSize, EParticleType.Star);
}
private void _AddNewCreditName(STexture Texture, int ParticleOffsetX, int ParticleOffsetY, bool BigParticles)
{
bool isRight = _CreditNames.Count % 2 == 0;
int partRectSize = (BigParticles) ? 25 : 20;
int partCount = (BigParticles) ? 8 : 6;
STexture TexDot = (isRight) ? _TexRedDot : _TexBlueDot;
CStatic Image = GetNewStatic(Texture, new SColorF(1, 1, 1, 1), new SRectF(-1, -1, 400, 120, -4));
SRectF particleRect = new SRectF(-1, -1, partRectSize, partRectSize, -6);
SRectF imgDotRect = new SRectF(particleRect);
imgDotRect.Z = -5;
CStatic ImgDot = GetNewStatic(TexDot, new SColorF(1, 1, 1, 1), imgDotRect);
CParticleEffect Particle = _GetStarParticles(partCount, isRight, particleRect, BigParticles);
CCreditName credit = new CCreditName(Image, ImgDot, Particle, ParticleOffsetX, ParticleOffsetY);
if (isRight)
{
credit.X = CSettings.iRenderW;
credit.Direction = EDirection.Right;
}
else
{
credit.X = -450;
credit.Direction = EDirection.Left;
}
credit.Y = 580;
_CreditNames.Add(credit);
}
public override void OnShow() public override void OnShow()
{ {
base.OnShow(); base.OnShow();
@@ -243,84 +316,21 @@ namespace Vocaluxe.Screens
//Little stars for logo //Little stars for logo
int numstars = (int)(logo.Rect.W * 0.25f / 2f); int numstars = (int)(logo.Rect.W * 0.25f / 2f);
starsRed = GetNewParticleEffect(numstars, new SColorF(1, 0, 0, 1), new SRectF(logo.Rect.X, logo.Rect.Y, logo.Rect.W, logo.Rect.H, -1), _TexPerfectNoteStar, 35, EParticleType.Star); SRectF partRect = new SRectF(logo.Rect.X, logo.Rect.Y, logo.Rect.W, logo.Rect.H, -1);
starsBlue = GetNewParticleEffect(numstars, new SColorF(0.149f, 0.415f, 0.819f, 1), new SRectF(logo.Rect.X, logo.Rect.Y, logo.Rect.W, logo.Rect.H, -1), _TexPerfectNoteStar, 35, EParticleType.Star); starsRed = _GetStarParticles(numstars, true, partRect, true);
starsBlue = _GetStarParticles(numstars, false, partRect, true);
//Credit names //Credit names
_CreditNames = new List<CCreditName>(); _CreditNames = new List<CCreditName>();
CCreditName CreditEntry = new CCreditName();
//brunzel _AddNewCreditName(_TexNameBrunzel, 502, 29, true);
CCreditName CreditEntryBrunzel = new CCreditName(); _AddNewCreditName(_TexNameDarkice, 360, 55, true);
CreditEntryBrunzel.image = GetNewStatic(_TexNameBrunzel, new SColorF(1, 1, 1, 1), new SRectF(-450, 580, 400, 120, -4)); _AddNewCreditName(_TexNameFlokuep, 214, 14, true);
CreditEntryBrunzel.particleRect = new SRectF(CreditEntryBrunzel.image.Rect.X + 342, CreditEntryBrunzel.image.Rect.Y + 4, 30, 30, -5); _AddNewCreditName(_TexNameBohning, 383, 54, false);
CreditEntryBrunzel.particle = GetNewParticleEffect(8, new SColorF(1, 0, 0, 1), CreditEntryBrunzel.particleRect, _TexPerfectNoteStar, 35, EParticleType.Star); _AddNewCreditName(_TexNameMesand, 525, 13, false);
CreditEntryBrunzel.active = true; _AddNewCreditName(_TexNameBabene03, 33, 26, false);
CreditEntryBrunzel.direction = EDirection.Left; _AddNewCreditName(_TexNamePantero, 311, 45, false);
_CreditNames.Add(CreditEntryBrunzel); _AddNewCreditName(_TexNamePinky007, 113, 50, false);
//Darkice
CCreditName CreditEntryDarkice = new CCreditName();
CreditEntryDarkice.image = GetNewStatic(_TexNameDarkice, new SColorF(1, 1, 1, 1), new SRectF(CSettings.iRenderW, 580, 400, 120, -4));
CreditEntryDarkice.particleRect = new SRectF(CreditEntryDarkice.image.Rect.X + 242, CreditEntryDarkice.image.Rect.Y + 23, 30, 30, -5);
CreditEntryDarkice.particle = GetNewParticleEffect(8, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryDarkice.particleRect, _TexPerfectNoteStar, 35, EParticleType.Star);
CreditEntryDarkice.active = true;
CreditEntryDarkice.direction = EDirection.Right;
_CreditNames.Add(CreditEntryDarkice);
//flokuep
CCreditName CreditEntryFlokuep = new CCreditName();
CreditEntryFlokuep.image = GetNewStatic(_TexNameFlokuep, new SColorF(1, 1, 1, 1), new SRectF(-450, 580, 400, 120, -4));
CreditEntryFlokuep.particleRect = new SRectF(CreditEntryFlokuep.image.Rect.X + 141, CreditEntryFlokuep.image.Rect.Y - 2, 30, 30, -5);
CreditEntryFlokuep.particle = GetNewParticleEffect(8, new SColorF(1, 0, 0, 1), CreditEntryFlokuep.particleRect, _TexPerfectNoteStar, 35, EParticleType.Star);
CreditEntryFlokuep.active = true;
CreditEntryFlokuep.direction = EDirection.Left;
_CreditNames.Add(CreditEntryFlokuep);
//bohning
CCreditName CreditEntryBohning = new CCreditName();
CreditEntryBohning.image = GetNewStatic(_TexNameBohning, new SColorF(1, 1, 1, 1), new SRectF(CSettings.iRenderW, 580, 350, 110, -4));
CreditEntryBohning.particleRect = new SRectF(CreditEntryBohning.image.Rect.X + 172, CreditEntryBohning.image.Rect.Y + 16, 10, 10, -5);
CreditEntryBohning.particle = GetNewParticleEffect(4, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryBohning.particleRect, _TexPerfectNoteStar, 25, EParticleType.Star);
CreditEntryBohning.active = true;
CreditEntryBohning.direction = EDirection.Right;
_CreditNames.Add(CreditEntryBohning);
//mesand
CCreditName CreditEntryMesand = new CCreditName();
CreditEntryMesand.image = GetNewStatic(_TexNameMesand, new SColorF(1, 1, 1, 1), new SRectF(-450, 580, 350, 110, -4));
CreditEntryMesand.particleRect = new SRectF(CreditEntryMesand.image.Rect.X + 240, CreditEntryMesand.image.Rect.Y - 2, 10, 10, -5);
CreditEntryMesand.particle = GetNewParticleEffect(4, new SColorF(1, 0, 0, 1), CreditEntryMesand.particleRect, _TexPerfectNoteStar, 25, EParticleType.Star);
CreditEntryMesand.active = true;
CreditEntryMesand.direction = EDirection.Left;
_CreditNames.Add(CreditEntryMesand);
//babene03
CCreditName CreditEntryBabene03 = new CCreditName();
CreditEntryBabene03.image = GetNewStatic(_TexNameBabene03, new SColorF(1, 1, 1, 1), new SRectF(CSettings.iRenderW, 580, 350, 110, -4));
CreditEntryBabene03.particleRect = new SRectF(CreditEntryBabene03.image.Rect.X + 7, CreditEntryBabene03.image.Rect.Y + 4, 10, 10, -5);
CreditEntryBabene03.particle = GetNewParticleEffect(4, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryBabene03.particleRect, _TexPerfectNoteStar, 25, EParticleType.Star);
CreditEntryBabene03.active = true;
CreditEntryBabene03.direction = EDirection.Right;
_CreditNames.Add(CreditEntryBabene03);
//pantero
CCreditName CreditEntrypantero = new CCreditName();
CreditEntrypantero.image = GetNewStatic(_TexNamePantero, new SColorF(1, 1, 1, 1), new SRectF(-450, 580, 350, 110, -4));
CreditEntrypantero.particleRect = new SRectF(CreditEntrypantero.image.Rect.X + 140, CreditEntrypantero.image.Rect.Y + 15, 10, 10, -5);
CreditEntrypantero.particle = GetNewParticleEffect(4, new SColorF(1, 0, 0, 1), CreditEntrypantero.particleRect, _TexPerfectNoteStar, 25, EParticleType.Star);
CreditEntrypantero.active = true;
CreditEntrypantero.direction = EDirection.Left;
_CreditNames.Add(CreditEntrypantero);
//Pinky007
CCreditName CreditEntryPinky007 = new CCreditName();
CreditEntryPinky007.image = GetNewStatic(_TexNamePinky007, new SColorF(1, 1, 1, 1), new SRectF(CSettings.iRenderW, 580, 350, 110, -4));
CreditEntryPinky007.particleRect = new SRectF(CreditEntryPinky007.image.Rect.X + 42, CreditEntryPinky007.image.Rect.Y + 15, 10, 10, -5);
CreditEntryPinky007.particle = GetNewParticleEffect(4, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryPinky007.particleRect, _TexPerfectNoteStar, 25, EParticleType.Star);
CreditEntryPinky007.active = true;
CreditEntryPinky007.direction = EDirection.Right;
_CreditNames.Add(CreditEntryPinky007);
TextTimer.Reset(); TextTimer.Reset();
LogoTimer.Reset(); LogoTimer.Reset();
@@ -348,13 +358,9 @@ namespace Vocaluxe.Screens
logo.Draw(); logo.Draw();
//Draw credit-entries //Draw credit-entries
for (int i = 0; i < _CreditNames.Count; i++) foreach (CCreditName cn in _CreditNames)
{ {
if (_CreditNames[i].active) cn.Draw();
{
_CreditNames[i].image.Draw();
_CreditNames[i].particle.Draw();
}
} }
//Draw Text //Draw Text
@@ -376,9 +382,8 @@ namespace Vocaluxe.Screens
active = true; active = true;
logo.Rect.Y = -270 + (270f / 3000f) * LogoTimer.ElapsedMilliseconds; logo.Rect.Y = -270 + (270f / 3000f) * LogoTimer.ElapsedMilliseconds;
SRectF rect = new SRectF(logo.Rect.X, logo.Rect.Y, logo.Rect.W, logo.Rect.H, -1); starsRed.Rect.Y = logo.Rect.Y;
starsRed.Rect = rect; starsBlue.Rect.Y = logo.Rect.Y;
starsBlue.Rect = rect;
if (LogoTimer.ElapsedMilliseconds >= 2000 && !CreditsTimer.IsRunning) if (LogoTimer.ElapsedMilliseconds >= 2000 && !CreditsTimer.IsRunning)
{ {
CreditsTimer.Start(); CreditsTimer.Start();
@@ -396,40 +401,34 @@ namespace Vocaluxe.Screens
for (int i = 0; i < _CreditNames.Count; i++) for (int i = 0; i < _CreditNames.Count; i++)
{ {
if (_CreditNames[i].active) if (_CreditNames[i].Active)
{ {
switch (_CreditNames[i].direction) switch (_CreditNames[i].Direction)
{ {
case EDirection.Left: case EDirection.Right:
if (i * 4000f <= CreditsTimer.ElapsedMilliseconds) if (i * 4000f <= CreditsTimer.ElapsedMilliseconds)
{ {
float xOld = _CreditNames[i].image.Rect.X; _CreditNames[i].X = -450 + (((CSettings.iRenderW - _CreditNames[i].W) / 2) / 3000f) * (CreditsTimer.ElapsedMilliseconds - (i * 4000f));
_CreditNames[i].image.Rect.X = -450 + (((CSettings.iRenderW - _CreditNames[i].image.Rect.W) / 2)/3000f) * (CreditsTimer.ElapsedMilliseconds-(i*4000f));
_CreditNames[i].particleRect.X += (_CreditNames[i].image.Rect.X - xOld);
_CreditNames[i].particle.Rect = _CreditNames[i].particleRect;
//Check if name is in middle of screen and should go up //Check if name is in middle of screen and should go up
if (_CreditNames[i].image.Rect.X >= (CSettings.iRenderW - _CreditNames[i].image.Rect.W) / 2) if (_CreditNames[i].X >= (CSettings.iRenderW - _CreditNames[i].W) / 2)
{ {
_CreditNames[i].direction = EDirection.Up; _CreditNames[i].Direction = EDirection.Up;
_CreditNames[i].StartTimeUp = CreditsTimer.ElapsedMilliseconds; _CreditNames[i].StartTimeUp = CreditsTimer.ElapsedMilliseconds;
} }
} }
break; break;
case EDirection.Right: case EDirection.Left:
if (i * 4000f <= CreditsTimer.ElapsedMilliseconds) if (i * 4000f <= CreditsTimer.ElapsedMilliseconds)
{ {
float xOld = _CreditNames[i].image.Rect.X; _CreditNames[i].X = CSettings.iRenderW - (((CSettings.iRenderW - _CreditNames[i].W) / 2) / 3000f) * (CreditsTimer.ElapsedMilliseconds - (i * 4000f));
_CreditNames[i].image.Rect.X = CSettings.iRenderW - (((CSettings.iRenderW - _CreditNames[i].image.Rect.W) / 2) / 3000f) * (CreditsTimer.ElapsedMilliseconds - (i * 4000f));
_CreditNames[i].particleRect.X -= (xOld - _CreditNames[i].image.Rect.X);
_CreditNames[i].particle.Rect = _CreditNames[i].particleRect;
//Check if name is in middle of screen and should go up //Check if name is in middle of screen and should go up
if (_CreditNames[i].image.Rect.X <= (CSettings.iRenderW - _CreditNames[i].image.Rect.W) / 2 ) if (_CreditNames[i].X <= (CSettings.iRenderW - _CreditNames[i].W) / 2)
{ {
_CreditNames[i].direction = EDirection.Up; _CreditNames[i].Direction = EDirection.Up;
_CreditNames[i].StartTimeUp = CreditsTimer.ElapsedMilliseconds; _CreditNames[i].StartTimeUp = CreditsTimer.ElapsedMilliseconds;
} }
@@ -437,31 +436,12 @@ namespace Vocaluxe.Screens
break; break;
case EDirection.Up: case EDirection.Up:
float yOld = _CreditNames[i].image.Rect.Y; _CreditNames[i].Y = 580 - (430f / 3000f) * (CreditsTimer.ElapsedMilliseconds - _CreditNames[i].StartTimeUp);
_CreditNames[i].image.Rect.Y = 580 - (430f / 3000f) * (CreditsTimer.ElapsedMilliseconds - _CreditNames[i].StartTimeUp);
_CreditNames[i].particleRect.Y -= (yOld - _CreditNames[i].image.Rect.Y);
_CreditNames[i].particle.Rect = _CreditNames[i].particleRect;
//Fade names out
if (_CreditNames[i].image.Rect.Y <= 350f)
{
//Catch some bad alpha-values
float alpha = ((250 - _CreditNames[i].image.Rect.Y) / 20);
if(alpha > 1)
{
alpha = 1;
}
else if(alpha < 0)
{
alpha = 0;
}
_CreditNames[i].image.Alpha = 1 - alpha;
}
//Set name inactive //Set name inactive
if (_CreditNames[i].image.Rect.Y <= 150f) if (_CreditNames[i].Y <= 160f)
{ {
_CreditNames[i].active = false; _CreditNames[i].Active = false;
//Check, if last name is set to false //Check, if last name is set to false
if (i == _CreditNames.Count - 1) if (i == _CreditNames.Count - 1)
{ {
@@ -474,6 +454,22 @@ namespace Vocaluxe.Screens
active = true; active = true;
} }
} }
else if (_CreditNames[i].Y <= 360f)
{
//Fade names out
float alpha = ((360 - _CreditNames[i].Y) / 200);
//Catch some bad alpha-values
if (alpha > 1)
{
alpha = 1;
}
else if (alpha < 0)
{
alpha = 0;
}
_CreditNames[i].Alpha = 1 - alpha;
}
break; break;
} }
} }
@@ -482,14 +478,7 @@ namespace Vocaluxe.Screens
if (TextTimer.IsRunning) if (TextTimer.IsRunning)
{ {
if (TextTimer.ElapsedMilliseconds > 600000) active = TextTimer.ElapsedMilliseconds <= 60000;
{
active = false;
}
else
{
active = true;
}
} }
return active; return active;
+2 -5
View File
@@ -13,7 +13,7 @@ namespace Vocaluxe.Screens
class CScreenHighscore : CMenu class CScreenHighscore : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 2; protected override int _ScreenVersion { get { return 2; } }
private const int NumEntrys = 10; private const int NumEntrys = 10;
private const string TextSongName = "TextSongName"; private const string TextSongName = "TextSongName";
@@ -34,13 +34,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenHighscore";
_ScreenVersion = ScreenVersion;
List<string> texts = new List<string>(); List<string> texts = new List<string>();
texts.Add(TextSongName); texts.Add(TextSongName);
texts.Add(TextSongMode); texts.Add(TextSongMode);
+2 -4
View File
@@ -17,7 +17,7 @@ namespace Vocaluxe.Screens
class CScreenLoad: CMenu class CScreenLoad: CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
const float WaitTime = 0.5f; //wait time before starting first video const float WaitTime = 0.5f; //wait time before starting first video
const string TextStatus = "TextStatus"; const string TextStatus = "TextStatus";
@@ -38,12 +38,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenLoad";
_ScreenVersion = ScreenVersion;
_ThemeTexts = new string[] { TextStatus }; _ThemeTexts = new string[] { TextStatus };
_Intros = new VideoPlayer[IntroVideo.Length]; _Intros = new VideoPlayer[IntroVideo.Length];
for (int i = 0; i < _Intros.Length; i++) for (int i = 0; i < _Intros.Length; i++)
+2 -4
View File
@@ -16,7 +16,7 @@ namespace Vocaluxe.Screens
class CScreenMain: CMenu class CScreenMain: CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
const string ButtonSing = "ButtonSing"; const string ButtonSing = "ButtonSing";
const string ButtonParty = "ButtonParty"; const string ButtonParty = "ButtonParty";
@@ -30,12 +30,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenMain";
_ScreenVersion = ScreenVersion;
_ThemeStatics = new string[] { "StaticMenuBar" }; _ThemeStatics = new string[] { "StaticMenuBar" };
_ThemeButtons = new string[] { ButtonSing, ButtonParty, ButtonOptions, ButtonProfiles, ButtonExit }; _ThemeButtons = new string[] { ButtonSing, ButtonParty, ButtonOptions, ButtonProfiles, ButtonExit };
} }
+2 -5
View File
@@ -12,7 +12,7 @@ namespace Vocaluxe.Screens
class CScreenNames : CMenu class CScreenNames : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 3; protected override int _ScreenVersion { get { return 3; } }
private CStatic chooseAvatarStatic; private CStatic chooseAvatarStatic;
private int OldMouseX; private int OldMouseX;
@@ -45,13 +45,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenNames";
_ScreenVersion = ScreenVersion;
List<string> statics = new List<string>(); List<string> statics = new List<string>();
foreach(string text in StaticPlayer){ foreach(string text in StaticPlayer){
statics.Add(text); statics.Add(text);
+2 -4
View File
@@ -12,7 +12,7 @@ namespace Vocaluxe.Screens
class CScreenOptions : CMenu class CScreenOptions : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
private const string ButtonOptionsGame = "ButtonOptionsGame"; private const string ButtonOptionsGame = "ButtonOptionsGame";
private const string ButtonOptionsSound = "ButtonOptionsSound"; private const string ButtonOptionsSound = "ButtonOptionsSound";
@@ -25,12 +25,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenOptions";
_ScreenVersion = ScreenVersion;
_ThemeButtons = new string[] { ButtonOptionsGame, ButtonOptionsSound, ButtonOptionsRecord, ButtonOptionsVideo, ButtonOptionsLyrics, ButtonOptionsTheme }; _ThemeButtons = new string[] { ButtonOptionsGame, ButtonOptionsSound, ButtonOptionsRecord, ButtonOptionsVideo, ButtonOptionsLyrics, ButtonOptionsTheme };
} }
+2 -4
View File
@@ -13,7 +13,7 @@ namespace Vocaluxe.Screens
class CScreenOptionsGame : CMenu class CScreenOptionsGame : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
private const string SelectSlideLanguage = "SelectSlideLanguage"; private const string SelectSlideLanguage = "SelectSlideLanguage";
private const string SelectSlideDebugLevel = "SelectSlideDebugLevel"; private const string SelectSlideDebugLevel = "SelectSlideDebugLevel";
@@ -28,12 +28,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenOptionsGame";
_ScreenVersion = ScreenVersion;
_ThemeButtons = new string[] { ButtonExit }; _ThemeButtons = new string[] { ButtonExit };
_ThemeSelectSlides = new string[] { SelectSlideLanguage, SelectSlideDebugLevel, SelectSlideSongMenu, SelectSlideSongSorting, SelectSlideTabs, SelectSlideTimerMode }; _ThemeSelectSlides = new string[] { SelectSlideLanguage, SelectSlideDebugLevel, SelectSlideSongMenu, SelectSlideSongSorting, SelectSlideTabs, SelectSlideTimerMode };
} }
+2 -5
View File
@@ -11,7 +11,7 @@ namespace Vocaluxe.Screens
class CScreenOptionsLyrics : CMenu class CScreenOptionsLyrics : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
private const string SelectSlideLyricStyle = "SelectSlideLyricStyle"; private const string SelectSlideLyricStyle = "SelectSlideLyricStyle";
private const string SelectSlideLyricsOnTop = "SelectSlideLyricsOnTop"; private const string SelectSlideLyricsOnTop = "SelectSlideLyricsOnTop";
@@ -22,13 +22,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenOptionsLyrics";
_ScreenVersion = ScreenVersion;
_ThemeButtons = new string[] { ButtonExit }; _ThemeButtons = new string[] { ButtonExit };
_ThemeSelectSlides = new string[] { SelectSlideLyricStyle, SelectSlideLyricsOnTop }; _ThemeSelectSlides = new string[] { SelectSlideLyricStyle, SelectSlideLyricsOnTop };
} }
+2 -5
View File
@@ -21,7 +21,7 @@ namespace Vocaluxe.Screens
class CScreenOptionsRecord : CMenu class CScreenOptionsRecord : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 2; protected override int _ScreenVersion { get { return 2; } }
private const float MaxDelayTime = 1f; private const float MaxDelayTime = 1f;
private const string SelectSlideRecordDevices = "SelectSlideRecordDevices"; private const string SelectSlideRecordDevices = "SelectSlideRecordDevices";
@@ -58,13 +58,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenOptionsRecord";
_ScreenVersion = ScreenVersion;
List<string> values = new List<string>(); List<string> values = new List<string>();
values.Add(StaticWarning); values.Add(StaticWarning);
values.AddRange(StaticEnergyChannel); values.AddRange(StaticEnergyChannel);
+2 -5
View File
@@ -12,7 +12,7 @@ namespace Vocaluxe.Screens
class CScreenOptionsSound : CMenu class CScreenOptionsSound : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 3; protected override int _ScreenVersion { get { return 3; } }
private const string SelectSlideBackgroundMusic = "SelectSlideBackgroundMusic"; private const string SelectSlideBackgroundMusic = "SelectSlideBackgroundMusic";
private const string SelectSlideBackgroundMusicVolume = "SelectSlideBackgroundMusicVolume"; private const string SelectSlideBackgroundMusicVolume = "SelectSlideBackgroundMusicVolume";
@@ -29,13 +29,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenOptionsSound";
_ScreenVersion = ScreenVersion;
_ThemeButtons = new string[] { ButtonExit }; _ThemeButtons = new string[] { ButtonExit };
_ThemeSelectSlides = new string[] { SelectSlideBackgroundMusic, SelectSlideBackgroundMusicVolume, SelectSlideBackgroundMusicSource, SelectSlidePreviewMusicVolume, SelectSlideGameMusicVolume }; _ThemeSelectSlides = new string[] { SelectSlideBackgroundMusic, SelectSlideBackgroundMusicVolume, SelectSlideBackgroundMusicSource, SelectSlidePreviewMusicVolume, SelectSlideGameMusicVolume };
} }
+2 -4
View File
@@ -12,7 +12,7 @@ namespace Vocaluxe.Screens
class CScreenOptionsTheme : CMenu class CScreenOptionsTheme : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 3; protected override int _ScreenVersion { get { return 3; } }
private const string SelectSlideTheme = "SelectSlideTheme"; private const string SelectSlideTheme = "SelectSlideTheme";
private const string SelectSlideSkin = "SelectSlideSkin"; private const string SelectSlideSkin = "SelectSlideSkin";
@@ -35,12 +35,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenOptionsTheme";
_ScreenVersion = ScreenVersion;
_ThemeButtons = new string[] { ButtonExit }; _ThemeButtons = new string[] { ButtonExit };
_ThemeSelectSlides = new string[] { _ThemeSelectSlides = new string[] {
SelectSlideTheme, SelectSlideTheme,
+2 -5
View File
@@ -13,7 +13,7 @@ namespace Vocaluxe.Screens
class CScreenOptionsVideo : CMenu class CScreenOptionsVideo : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 3; protected override int _ScreenVersion { get { return 3; } }
private const string SelectSlideVideoBackgrounds = "SelectSlideVideoBackgrounds"; private const string SelectSlideVideoBackgrounds = "SelectSlideVideoBackgrounds";
private const string SelectSlideVideoPreview = "SelectSlideVideoPreview"; private const string SelectSlideVideoPreview = "SelectSlideVideoPreview";
@@ -35,13 +35,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenOptionsVideo";
_ScreenVersion = ScreenVersion;
_ThemeStatics = new string[] { StaticWebcamOutput }; _ThemeStatics = new string[] { StaticWebcamOutput };
_ThemeButtons = new string[] { ButtonExit }; _ThemeButtons = new string[] { ButtonExit };
_ThemeSelectSlides = new string[] { SelectSlideVideoBackgrounds, SelectSlideVideoPreview, SelectSlideVideosInSongs, SelectSlideVideosToBackground, SelectSlideWebcamDevices, SelectSlideWebcamCapabilities }; _ThemeSelectSlides = new string[] { SelectSlideVideoBackgrounds, SelectSlideVideoPreview, SelectSlideVideosInSongs, SelectSlideVideosToBackground, SelectSlideWebcamDevices, SelectSlideWebcamCapabilities };
+2 -9
View File
@@ -11,7 +11,7 @@ namespace Vocaluxe.Screens
class CScreenParty : CMenu class CScreenParty : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
const string TextDescription = "TextDescription"; const string TextDescription = "TextDescription";
const string TextTargetAudience = "TextTargetAudience"; const string TextTargetAudience = "TextTargetAudience";
@@ -30,12 +30,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenParty";
_ScreenVersion = ScreenVersion;
_ThemeTexts = new string[] { TextDescription, TextTargetAudience, TextNumTeams, TextNumPlayers, TextAuthor, TextVersion, TextError }; _ThemeTexts = new string[] { TextDescription, TextTargetAudience, TextNumTeams, TextNumPlayers, TextAuthor, TextVersion, TextError };
_ThemeButtons = new string[] { ButtonStart, ButtonExit }; _ThemeButtons = new string[] { ButtonStart, ButtonExit };
_ThemeSelectSlides = new string[] { SelectSlideModes }; _ThemeSelectSlides = new string[] { SelectSlideModes };
@@ -134,11 +132,6 @@ namespace Vocaluxe.Screens
return true; return true;
} }
public override void OnClose()
{
base.OnClose();
}
private void UpdateSelection() private void UpdateSelection()
{ {
if (_PartyModeInfos.Count == 0) if (_PartyModeInfos.Count == 0)
+2 -4
View File
@@ -20,7 +20,7 @@ namespace Vocaluxe.Screens
class CScreenProfiles : CMenu class CScreenProfiles : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 2; protected override int _ScreenVersion { get { return 2; } }
private const string SelectSlideProfiles = "SelectSlideProfiles"; private const string SelectSlideProfiles = "SelectSlideProfiles";
private const string SelectSlideDifficulty = "SelectSlideDifficulty"; private const string SelectSlideDifficulty = "SelectSlideDifficulty";
@@ -48,12 +48,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenProfiles";
_ScreenVersion = ScreenVersion;
_ThemeButtons = new string[] { ButtonPlayerName, ButtonExit, ButtonSave, ButtonNew, ButtonDelete, ButtonWebcam, ButtonSaveSnapshot, ButtonDiscardSnapshot, ButtonTakeSnapshot }; _ThemeButtons = new string[] { ButtonPlayerName, ButtonExit, ButtonSave, ButtonNew, ButtonDelete, ButtonWebcam, ButtonSaveSnapshot, ButtonDiscardSnapshot, ButtonTakeSnapshot };
_ThemeSelectSlides = new string[] { SelectSlideProfiles, SelectSlideDifficulty, SelectSlideAvatars, SelectSlideGuestProfile, SelectSlideActive }; _ThemeSelectSlides = new string[] { SelectSlideProfiles, SelectSlideDifficulty, SelectSlideAvatars, SelectSlideGuestProfile, SelectSlideActive };
_ThemeStatics = new string[] { StaticAvatar }; _ThemeStatics = new string[] { StaticAvatar };
+2 -5
View File
@@ -15,7 +15,7 @@ namespace Vocaluxe.Screens
class CScreenScore : CMenu class CScreenScore : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 3; protected override int _ScreenVersion { get { return 3; } }
private const string TextSong = "TextSong"; private const string TextSong = "TextSong";
@@ -40,13 +40,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenScore";
_ScreenVersion = ScreenVersion;
List<string> texts = new List<string>(); List<string> texts = new List<string>();
texts.Add(TextSong); texts.Add(TextSong);
+2 -5
View File
@@ -17,7 +17,7 @@ namespace Vocaluxe.Screens
class CScreenSing : CMenu class CScreenSing : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 6; protected override int _ScreenVersion { get { return 6; } }
struct TimeRect struct TimeRect
{ {
@@ -99,13 +99,10 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
_ThemeName = "ScreenSing";
_ScreenVersion = ScreenVersion;
List<string> texts = new List<string>(); List<string> texts = new List<string>();
texts.Add(TextSongName); texts.Add(TextSongName);
texts.Add(TextTime); texts.Add(TextTime);
+2 -4
View File
@@ -26,7 +26,7 @@ namespace Vocaluxe.Screens
} }
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 5; protected override int _ScreenVersion { get { return 5; } }
private const string TextCategory = "TextCategory"; private const string TextCategory = "TextCategory";
private const string TextSelection = "TextSelection"; private const string TextSelection = "TextSelection";
@@ -80,7 +80,7 @@ namespace Vocaluxe.Screens
_AvailableGameModes = new List<EGameMode>(); _AvailableGameModes = new List<EGameMode>();
} }
protected override void Init() public override void Init()
{ {
base.Init(); base.Init();
@@ -117,8 +117,6 @@ namespace Vocaluxe.Screens
tlist.Add(TextSearchBar); tlist.Add(TextSearchBar);
tlist.Add(TextOptionsTitle); tlist.Add(TextOptionsTitle);
_ThemeName = "ScreenSong";
_ScreenVersion = ScreenVersion;
_ThemeStatics = new string[] { StaticSearchBar, StaticOptionsBG }; _ThemeStatics = new string[] { StaticSearchBar, StaticOptionsBG };
_ThemeTexts = tlist.ToArray(); _ThemeTexts = tlist.ToArray();
_ThemeButtons = blist.ToArray(); _ThemeButtons = blist.ToArray();
+1 -15
View File
@@ -13,7 +13,7 @@ namespace Vocaluxe.Screens
class CScreenTest : CMenu class CScreenTest : CMenu
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
private int _TestMusic = -1; private int _TestMusic = -1;
@@ -21,14 +21,6 @@ namespace Vocaluxe.Screens
{ {
} }
protected override void Init()
{
base.Init();
_ThemeName = "ScreenTest";
_ScreenVersion = ScreenVersion;
}
public override bool HandleInput(KeyEvent KeyEvent) public override bool HandleInput(KeyEvent KeyEvent)
{ {
if (KeyEvent.KeyPressed && !Char.IsControl(KeyEvent.Unicode)) if (KeyEvent.KeyPressed && !Char.IsControl(KeyEvent.Unicode))
@@ -90,12 +82,6 @@ namespace Vocaluxe.Screens
return true; return true;
} }
public override void OnShow()
{
base.OnShow();
}
public override bool Draw() public override bool Draw()
{ {
return base.Draw(); return base.Draw();
+22 -98
View File
@@ -20,79 +20,6 @@ namespace Vocaluxe.Menu
public abstract class CMenu : IMenu public abstract class CMenu : IMenu
{ {
public class COrderedDictionaryLite<T> : IEnumerable<T>
{
private List<T> _Items;
private Dictionary<String, int> _htIndex;
private CMenu _Parent;
public COrderedDictionaryLite(CMenu Parent)
{
_Items = new List<T>();
_htIndex = new Dictionary<String, int>();
_Parent = Parent;
}
public COrderedDictionaryLite(COrderedDictionaryLite<T> Dict)
{
_Items = new List<T>(Dict._Items);
_htIndex = new Dictionary<String, int>(Dict._htIndex);
_Parent = Dict._Parent;
}
public T this[int index]
{
get { return _Items[index]; }
set { _Items[index] = value; }
}
public T this[string key]
{
get
{
try
{
return _Items[_htIndex[key]];
}
catch (Exception)
{
CBase.Log.LogError("Can't find " + typeof(T).Name.Substring(1) + " Element \"" + key + "\" in Screen " + _Parent._ThemeName);
throw;
}
}
set
{
if (!_htIndex.ContainsKey(key))
{
_htIndex.Add(key, _Items.Count);
_Items.Add(value);
}
else
_Items[_htIndex[key]] = value;
}
}
public int Add(T item, String key = null)
{
if (key != null)
_htIndex.Add(key, _Items.Count);
_Items.Add(item);
return _Items.Count - 1;
}
public IEnumerator<T> GetEnumerator()
{
return _Items.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return (IEnumerator)GetEnumerator();
}
}
private List<CInteraction> _Interactions; private List<CInteraction> _Interactions;
private int _Selection = 0; private int _Selection = 0;
private string _ThemePath = String.Empty; private string _ThemePath = String.Empty;
@@ -121,8 +48,13 @@ namespace Vocaluxe.Menu
protected bool _Active; protected bool _Active;
protected int _ScreenVersion; protected abstract int _ScreenVersion { get; }
protected string _ThemeName; private string _ThemeName;
public string ThemeName
{
get { return _ThemeName; }
}
protected string[] _ThemeBackgrounds; protected string[] _ThemeBackgrounds;
protected string[] _ThemeStatics; protected string[] _ThemeStatics;
protected string[] _ThemeTexts; protected string[] _ThemeTexts;
@@ -138,17 +70,11 @@ namespace Vocaluxe.Menu
protected string[] _ThemeScreenSettings; protected string[] _ThemeScreenSettings;
protected SRectF _ScreenArea; protected SRectF _ScreenArea;
public SRectF ScreenArea public SRectF ScreenArea
{ {
get { return _ScreenArea; } get { return _ScreenArea; }
} }
public SRectF GetScreenArea()
{
return _ScreenArea;
}
public int ThemeScreenVersion public int ThemeScreenVersion
{ {
get { return _ScreenVersion; } get { return _ScreenVersion; }
@@ -158,13 +84,12 @@ namespace Vocaluxe.Menu
{ {
} }
public void Initialize() public virtual void Init()
{ {
Init(); _ThemeName = this.GetType().Name;
} if(_ThemeName[0]=='C' && Char.IsUpper(_ThemeName[1]))
_ThemeName = _ThemeName.Remove(0, 1);
protected virtual void Init()
{
_Interactions = new List<CInteraction>(); _Interactions = new List<CInteraction>();
_Selection = 0; _Selection = 0;
@@ -191,7 +116,6 @@ namespace Vocaluxe.Menu
_Active = false; _Active = false;
_ScreenArea = new SRectF(0f, 0f, CBase.Settings.GetRenderW(), CBase.Settings.GetRenderH(), 0f); _ScreenArea = new SRectF(0f, 0f, CBase.Settings.GetRenderW(), CBase.Settings.GetRenderH(), 0f);
_ThemeName = String.Empty;
_ThemeBackgrounds = null; _ThemeBackgrounds = null;
_ThemeStatics = null; _ThemeStatics = null;
_ThemeTexts = null; _ThemeTexts = null;
@@ -223,13 +147,13 @@ namespace Vocaluxe.Menu
foreach (string elName in Elements) foreach (string elName in Elements)
{ {
T Element = (T)Activator.CreateInstance(typeof(T), _PartyModeID); T Element = (T)Activator.CreateInstance(typeof(T), _PartyModeID);
if (Element.LoadTheme("//root/" + _ThemeName, elName, xmlReader, SkinIndex)) if (Element.LoadTheme("//root/" + ThemeName, elName, xmlReader, SkinIndex))
{ {
MAddElement(Element, elName); MAddElement(Element, elName);
} }
else else
{ {
CBase.Log.LogError("Can't load " + typeof(T).Name.Substring(1) + " \"" + elName + "\" in screen " + _ThemeName); CBase.Log.LogError("Can't load " + typeof(T).Name.Substring(1) + " \"" + elName + "\" in screen " + ThemeName);
} }
} }
} }
@@ -237,7 +161,7 @@ namespace Vocaluxe.Menu
public virtual void LoadTheme(string XmlPath) public virtual void LoadTheme(string XmlPath)
{ {
string file = Path.Combine(XmlPath, _ThemeName + ".xml"); string file = Path.Combine(XmlPath, ThemeName + ".xml");
CXMLReader xmlReader = CXMLReader.OpenFile(file); CXMLReader xmlReader = CXMLReader.OpenFile(file);
if (xmlReader == null) if (xmlReader == null)
@@ -279,14 +203,14 @@ namespace Vocaluxe.Menu
settings.Encoding = Encoding.UTF8; settings.Encoding = Encoding.UTF8;
settings.ConformanceLevel = ConformanceLevel.Document; settings.ConformanceLevel = ConformanceLevel.Document;
string file = Path.Combine(_ThemePath, _ThemeName + ".xml"); string file = Path.Combine(_ThemePath, ThemeName + ".xml");
using (XmlWriter writer = XmlWriter.Create(file, settings)) using (XmlWriter writer = XmlWriter.Create(file, settings))
{ {
writer.WriteStartDocument(); writer.WriteStartDocument();
writer.WriteStartElement("root"); writer.WriteStartElement("root");
writer.WriteStartElement(_ThemeName); writer.WriteStartElement(ThemeName);
// Screen Version // Screen Version
writer.WriteElementString("ScreenVersion", _ScreenVersion.ToString()); writer.WriteElementString("ScreenVersion", _ScreenVersion.ToString());
@@ -2139,13 +2063,13 @@ namespace Vocaluxe.Menu
private bool CheckVersion(int Version, CXMLReader xmlReader) private bool CheckVersion(int Version, CXMLReader xmlReader)
{ {
int version = 0; int version = 0;
xmlReader.TryGetIntValue("//root/" + _ThemeName + "/ScreenVersion", ref version); xmlReader.TryGetIntValue("//root/" + ThemeName + "/ScreenVersion", ref version);
if (version == Version) if (version == Version)
return true; return true;
else else
{ {
string msg = "Can't load screen file of screen \"" + _ThemeName + "\", "; string msg = "Can't load screen file of screen \"" + ThemeName + "\", ";
if (version < Version) if (version < Version)
msg += "the file ist outdated! "; msg += "the file ist outdated! ";
else else
@@ -2164,7 +2088,7 @@ namespace Vocaluxe.Menu
// Backgrounds // Backgrounds
CBackground background = new CBackground(_PartyModeID); CBackground background = new CBackground(_PartyModeID);
int i = 1; int i = 1;
while (background.LoadTheme("//root/" + _ThemeName, "Background" + i.ToString(), xmlReader, SkinIndex)) while (background.LoadTheme("//root/" + ThemeName, "Background" + i.ToString(), xmlReader, SkinIndex))
{ {
AddBackground(background); AddBackground(background);
background = new CBackground(_PartyModeID); background = new CBackground(_PartyModeID);
@@ -2174,7 +2098,7 @@ namespace Vocaluxe.Menu
// Statics // Statics
CStatic stat = new CStatic(_PartyModeID); CStatic stat = new CStatic(_PartyModeID);
i = 1; i = 1;
while (stat.LoadTheme("//root/" + _ThemeName, "Static" + i.ToString(), xmlReader, SkinIndex)) while (stat.LoadTheme("//root/" + ThemeName, "Static" + i.ToString(), xmlReader, SkinIndex))
{ {
AddStatic(stat); AddStatic(stat);
stat = new CStatic(_PartyModeID); stat = new CStatic(_PartyModeID);
@@ -2184,7 +2108,7 @@ namespace Vocaluxe.Menu
// Texts // Texts
CText text = new CText(_PartyModeID); CText text = new CText(_PartyModeID);
i = 1; i = 1;
while (text.LoadTheme("//root/" + _ThemeName, "Text" + i.ToString(), xmlReader, SkinIndex)) while (text.LoadTheme("//root/" + ThemeName, "Text" + i.ToString(), xmlReader, SkinIndex))
{ {
AddText(text); AddText(text);
text = new CText(_PartyModeID); text = new CText(_PartyModeID);
@@ -2194,7 +2118,7 @@ namespace Vocaluxe.Menu
// ParticleEffects // ParticleEffects
CParticleEffect partef = new CParticleEffect(_PartyModeID); CParticleEffect partef = new CParticleEffect(_PartyModeID);
i = 1; i = 1;
while (partef.LoadTheme("//root/" + _ThemeName, "ParticleEffect" + i.ToString(), xmlReader, SkinIndex)) while (partef.LoadTheme("//root/" + ThemeName, "ParticleEffect" + i.ToString(), xmlReader, SkinIndex))
{ {
AddParticleEffect(partef); AddParticleEffect(partef);
partef = new CParticleEffect(_PartyModeID); partef = new CParticleEffect(_PartyModeID);
@@ -0,0 +1,78 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
namespace Vocaluxe.Menu
{
public class COrderedDictionaryLite<T> : IEnumerable<T>
{
private List<T> _Items;
private Dictionary<String, int> _htIndex;
private CMenu _Parent;
public COrderedDictionaryLite(CMenu Parent)
{
_Items = new List<T>();
_htIndex = new Dictionary<String, int>();
_Parent = Parent;
}
public COrderedDictionaryLite(COrderedDictionaryLite<T> Dict)
{
_Items = new List<T>(Dict._Items);
_htIndex = new Dictionary<String, int>(Dict._htIndex);
_Parent = Dict._Parent;
}
public T this[int index]
{
get { return _Items[index]; }
set { _Items[index] = value; }
}
public T this[string key]
{
get
{
try
{
return _Items[_htIndex[key]];
}
catch (Exception)
{
CBase.Log.LogError("Can't find " + typeof(T).Name.Substring(1) + " Element \"" + key + "\" in Screen " + _Parent.ThemeName);
throw;
}
}
set
{
if (!_htIndex.ContainsKey(key))
{
_htIndex.Add(key, _Items.Count);
_Items.Add(value);
}
else
_Items[_htIndex[key]] = value;
}
}
public int Add(T item, String key = null)
{
if (key != null)
_htIndex.Add(key, _Items.Count);
_Items.Add(item);
return _Items.Count - 1;
}
public IEnumerator<T> GetEnumerator()
{
return _Items.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
}
+2 -2
View File
@@ -12,7 +12,7 @@ namespace Vocaluxe.Menu
{ {
public interface IMenu public interface IMenu
{ {
void Initialize(); void Init();
void LoadTheme(string XmlPath); void LoadTheme(string XmlPath);
void SaveTheme(); void SaveTheme();
@@ -32,7 +32,7 @@ namespace Vocaluxe.Menu
void OnClose(); void OnClose();
bool Draw(); bool Draw();
SRectF GetScreenArea(); SRectF ScreenArea { get; }
void NextInteraction(); void NextInteraction();
void PrevInteraction(); void PrevInteraction();
+1 -18
View File
@@ -10,21 +10,13 @@ namespace Vocaluxe.PartyModes
public class CScreenPartyDummy : CMenuParty public class CScreenPartyDummy : CMenuParty
{ {
// Version number for theme files. Increment it, if you've changed something on the theme files! // Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1; protected override int _ScreenVersion { get { return 1; } }
private CText Warning; private CText Warning;
public CScreenPartyDummy() public CScreenPartyDummy()
{ {
} }
protected override void Init()
{
base.Init();
_ThemeName = "ScreenPartyDummy";
_ScreenVersion = ScreenVersion;
}
public override void LoadTheme(string XmlPath) public override void LoadTheme(string XmlPath)
{ {
Warning = GetNewText(); Warning = GetNewText();
@@ -93,11 +85,6 @@ namespace Vocaluxe.PartyModes
return true; return true;
} }
public override void OnShow()
{
base.OnShow();
}
public override bool UpdateGame() public override bool UpdateGame()
{ {
return true; return true;
@@ -109,9 +96,5 @@ namespace Vocaluxe.PartyModes
return true; return true;
} }
public override void OnClose()
{
base.OnClose();
}
} }
} }
+1
View File
@@ -123,6 +123,7 @@
<Compile Include="Menu\CMenuParty.cs" /> <Compile Include="Menu\CMenuParty.cs" />
<Compile Include="Menu\CNameSelection.cs" /> <Compile Include="Menu\CNameSelection.cs" />
<Compile Include="Menu\CObjectInteractions.cs" /> <Compile Include="Menu\CObjectInteractions.cs" />
<Compile Include="Menu\COrderedDictionaryLite.cs" />
<Compile Include="Menu\CParticle.cs" /> <Compile Include="Menu\CParticle.cs" />
<Compile Include="Menu\CPlaylist.cs" /> <Compile Include="Menu\CPlaylist.cs" />
<Compile Include="Menu\CSelectSlide.cs" /> <Compile Include="Menu\CSelectSlide.cs" />