Added playeravatar and -name to SingScreen. Toggle with "I"!

This commit is contained in:
Florian Kuepper committed 2012-04-10 15:51:31 +02:00
1 parent f9e516eb7b
commit c004d68a69
4 files changed
+1141 -38

No files matched your search

File diff suppressed because it is too large. Load diff
@@ -4,6 +4,10 @@ ScreenSing
Version 4:
Added Elements for 6-player-singing!
Add:
<StaticAvatarP$N$> (One for each player for each player-number>
<TextNameP$N$> (One for each player for each player-number>
++++++++++
Version 3:
+13
View File
@@ -152,6 +152,14 @@ namespace Vocaluxe.Base
TR_CONFIG_ONLY_OWN_MUSIC
}
public enum EPlayerInfo
{
TR_CONFIG_PLAYERINFO_BOTH,
TR_CONFIG_PLAYERINFO_NAME,
TR_CONFIG_PLAYERINFO_AVATAR,
TR_CONFIG_PLAYERINFO_OFF
}
#endregion Enums
static class CConfig
@@ -185,6 +193,7 @@ namespace Vocaluxe.Base
public static EOffOn DrawNoteLines = EOffOn.TR_CONFIG_ON;
public static EOffOn DrawToneHelper = EOffOn.TR_CONFIG_ON;
public static ETimerLook TimerLook = ETimerLook.TR_CONFIG_TIMERLOOK_EXPANDED;
public static EPlayerInfo PlayerInfo = EPlayerInfo.TR_CONFIG_PLAYERINFO_BOTH;
public static ECoverLoading CoverLoading = ECoverLoading.TR_CONFIG_COVERLOADING_ATSTART;
// Sound
@@ -301,6 +310,7 @@ namespace Vocaluxe.Base
CHelper.TryGetEnumValueFromXML("//root/Theme/DrawNoteLines", navigator, ref DrawNoteLines);
CHelper.TryGetEnumValueFromXML("//root/Theme/DrawToneHelper", navigator, ref DrawToneHelper);
CHelper.TryGetEnumValueFromXML("//root/Theme/TimerLook", navigator, ref TimerLook);
CHelper.TryGetEnumValueFromXML("//root/Theme/PlayerInfo", navigator, ref PlayerInfo);
CHelper.TryGetEnumValueFromXML("//root/Theme/CoverLoading", navigator, ref CoverLoading);
#endregion Theme
@@ -503,6 +513,9 @@ namespace Vocaluxe.Base
writer.WriteComment("Look of timer:" + ListStrings(Enum.GetNames(typeof(ETimerLook))));
writer.WriteElementString("TimerLook", Enum.GetName(typeof(ETimerLook), TimerLook));
writer.WriteComment("Information about players on SingScreen:" + ListStrings(Enum.GetNames(typeof(EPlayerInfo))));
writer.WriteElementString("PlayerInfo", Enum.GetName(typeof(EPlayerInfo), PlayerInfo));
writer.WriteComment("Cover Loading:" + ListStrings(Enum.GetNames(typeof(ECoverLoading))));
writer.WriteElementString("CoverLoading", Enum.GetName(typeof(ECoverLoading), CoverLoading));
+57
View File
@@ -30,6 +30,7 @@ namespace Vocaluxe.Screens
private const string TextTime = "TextTime";
private const string TextPause = "TextPause";
private string[,] TextScores;
private string[,] TextNames;
private const string StaticSongText = "StaticSongText";
private const string StaticLyrics = "StaticLyrics";
@@ -46,6 +47,7 @@ namespace Vocaluxe.Screens
private const string StaticPauseBG = "StaticPauseBG";
private string[,] StaticScores;
private string[,] StaticAvatars;
private const string ButtonCancel = "ButtonCancel";
private const string ButtonContinue = "ButtonContinue";
@@ -185,6 +187,19 @@ namespace Vocaluxe.Screens
CConfig.TimerMode = (ETimerMode)mode;
break;
case Keys.I:
mode = (int)CConfig.PlayerInfo;
mode++;
if (mode > Enum.GetNames(typeof(EPlayerInfo)).Length - 1)
{
mode = 0;
}
CConfig.PlayerInfo = (EPlayerInfo)mode;
CConfig.SaveConfig();
SetVisuability();
break;
case Keys.Enter:
if (Buttons[htButtons(ButtonContinue)].Selected && _Pause)
TogglePause();
@@ -333,6 +348,8 @@ namespace Vocaluxe.Screens
}
SetVisuability();
UpdateAvatars();
UpdateNames();
CBackgroundMusic.Pause();
}
@@ -680,6 +697,7 @@ namespace Vocaluxe.Screens
private void BuildTextStrings(ref List<string> texts)
{
TextScores = new string[CSettings.MaxNumPlayer, CSettings.MaxNumPlayer];
TextNames = new string[CSettings.MaxNumPlayer, CSettings.MaxNumPlayer];
for (int numplayer = 0; numplayer < CSettings.MaxNumPlayer; numplayer++)
{
@@ -689,8 +707,10 @@ namespace Vocaluxe.Screens
{
string target = "P" + (player + 1).ToString() + "N" + (numplayer + 1).ToString();
TextScores[player, numplayer] = "TextScore" + target;
TextNames[player, numplayer] = "TextName" + target;
texts.Add(TextScores[player, numplayer]);
texts.Add(TextNames[player, numplayer]);
}
}
}
@@ -699,6 +719,7 @@ namespace Vocaluxe.Screens
private void BuildStaticStrings(ref List<string> statics)
{
StaticScores = new string[CSettings.MaxNumPlayer, CSettings.MaxNumPlayer];
StaticAvatars = new string[CSettings.MaxNumPlayer, CSettings.MaxNumPlayer];
for (int numplayer = 0; numplayer < CSettings.MaxNumPlayer; numplayer++)
{
@@ -708,8 +729,10 @@ namespace Vocaluxe.Screens
{
string target = "P" + (player + 1).ToString() + "N" + (numplayer + 1).ToString();
StaticScores[player, numplayer] = "StaticScore" + target;
StaticAvatars[player, numplayer] = "StaticAvatar" + target;
statics.Add(StaticScores[player, numplayer]);
statics.Add(StaticAvatars[player, numplayer]);
}
}
}
@@ -734,7 +757,11 @@ namespace Vocaluxe.Screens
if (player <= numplayer)
{
Texts[htTexts(TextScores[player, numplayer])].Visible = (numplayer + 1 == CGame.NumPlayer);
Texts[htTexts(TextNames[player, numplayer])].Visible = ((numplayer + 1 == CGame.NumPlayer)
&& (CConfig.PlayerInfo == EPlayerInfo.TR_CONFIG_PLAYERINFO_BOTH || CConfig.PlayerInfo == EPlayerInfo.TR_CONFIG_PLAYERINFO_NAME));
Statics[htStatics(StaticScores[player, numplayer])].Visible = (numplayer + 1 == CGame.NumPlayer);
Statics[htStatics(StaticAvatars[player, numplayer])].Visible = ((numplayer + 1 == CGame.NumPlayer)
&& (CConfig.PlayerInfo == EPlayerInfo.TR_CONFIG_PLAYERINFO_BOTH || CConfig.PlayerInfo == EPlayerInfo.TR_CONFIG_PLAYERINFO_AVATAR));
}
}
}
@@ -1113,5 +1140,35 @@ namespace Vocaluxe.Screens
break;
}
}
private void UpdateAvatars()
{
for (int i = 0; i < CGame.NumPlayer; i++)
{
if (CGame.Player[i].ProfileID > -1)
{
Statics[htStatics(StaticAvatars[i, CGame.NumPlayer - 1])].Texture = CProfiles.Profiles[CGame.Player[i].ProfileID].Avatar.Texture;
}
else
{
Statics[htStatics(StaticAvatars[i, CGame.NumPlayer - 1])].Visible = false;
}
}
}
private void UpdateNames()
{
for (int i = 0; i < CGame.NumPlayer; i++)
{
if (CGame.Player[i].ProfileID > -1)
{
Texts[htTexts(TextNames[i, CGame.NumPlayer - 1])].Text = CProfiles.Profiles[CGame.Player[i].ProfileID].PlayerName;
}
else
{
Texts[htTexts(TextNames[i, CGame.NumPlayer - 1])].Visible = false;
}
}
}
}
}