diff --git a/Output/PartyModes/Challenge/Languages/Deutsch.xml b/Output/PartyModes/Challenge/Languages/Deutsch.xml
index ce248c0b..27a17131 100644
--- a/Output/PartyModes/Challenge/Languages/Deutsch.xml
+++ b/Output/PartyModes/Challenge/Languages/Deutsch.xml
@@ -31,5 +31,6 @@
Sing-Punkte
Punkte
Challenge-Mode wirklich beenden?
+ Spieler der nächsten Runde:
diff --git a/Output/PartyModes/Challenge/Languages/English.xml b/Output/PartyModes/Challenge/Languages/English.xml
index b1cb7a0e..6b387836 100644
--- a/Output/PartyModes/Challenge/Languages/English.xml
+++ b/Output/PartyModes/Challenge/Languages/English.xml
@@ -30,6 +30,7 @@
Wins
Sing Points
Score
- Do you really want to exit?
+ Do you really want to exit?
+ Player of next round:
diff --git a/Output/PartyModes/Challenge/Languages/French.xml b/Output/PartyModes/Challenge/Languages/French.xml
index 5c4c511c..3e38ada0 100644
--- a/Output/PartyModes/Challenge/Languages/French.xml
+++ b/Output/PartyModes/Challenge/Languages/French.xml
@@ -31,5 +31,6 @@
TODO: Sing Points
TODO: Score
TODO: Do you really want to exit?
+ TODO: Player of next round:
diff --git a/Output/PartyModes/Challenge/Languages/Spanish.xml b/Output/PartyModes/Challenge/Languages/Spanish.xml
index b7b03145..45144926 100644
--- a/Output/PartyModes/Challenge/Languages/Spanish.xml
+++ b/Output/PartyModes/Challenge/Languages/Spanish.xml
@@ -30,5 +30,6 @@
TODO: Sing Points
TODO: Score
TODO: Do you really want to exit?
+ TODO: Player of next round:
diff --git a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml
index 4d26bd92..946b68dc 100644
--- a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml
+++ b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml
@@ -45,6 +45,22 @@
+
+
+ Invisible
+
+ 0
+ 0
+ 0,00
+ 100
+ 100
+
+
+ StaticColor
+
+
+
+
640
@@ -74,6 +90,35 @@
+
+
+ 640
+ 515
+
+ 0,00
+
+ 32
+
+
+
+ StaticColor
+
+
+ TextSColor
+
+ Center
+
+ Center
+
+
+
+ Outline
+
+ TR_SCREENMAIN_NEXT_PLAYER
+
+
+
+
100
@@ -248,6 +293,36 @@
+
+
+ 0
+ 0
+
+ 0,00
+
+ 32
+
+ 100
+
+
+ StaticColor
+
+
+ TextSColor
+
+ Center
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
640
@@ -255,7 +330,7 @@
-1,01
- 37
+ 32
380
@@ -284,7 +359,7 @@
Button
- 985
+ 1030
600
0,00
150
@@ -341,7 +416,7 @@
Button
- 145
+ 100
600
0,00
150
@@ -398,7 +473,7 @@
Button
- 145
+ 100
600
0,00
150
diff --git a/PartyModeChallenge/PartyScreenChallengeMain.cs b/PartyModeChallenge/PartyScreenChallengeMain.cs
index 9cf2e2c0..3d4be412 100644
--- a/PartyModeChallenge/PartyScreenChallengeMain.cs
+++ b/PartyModeChallenge/PartyScreenChallengeMain.cs
@@ -29,6 +29,7 @@ namespace Vocaluxe.PartyModes
const string TextWon = "TextWon";
const string TextSingPoints = "TextSingPoints";
const string TextGamePoints = "TextGamePoints";
+ const string TextNextPlayer = "TextNextPlayer";
const string TextPopupReallyExit = "TextPopupReallyExit";
const string ButtonNextRound = "ButtonNextRound";
@@ -38,6 +39,7 @@ namespace Vocaluxe.PartyModes
const string ButtonPopupNo = "ButtonPopupNo";
const string StaticPopupBG = "StaticPopupBG";
+ const string StaticNextPlayer = "StaticNextPlayer";
private bool ExitPopupVisible = false;
@@ -45,6 +47,9 @@ namespace Vocaluxe.PartyModes
private DataToScreenMain GameState;
private List Table;
+ private List NextPlayerTexts;
+ private List NextPlayerStatics;
+
public PartyScreenChallengeMain()
{
Data = new DataFromScreen();
@@ -56,9 +61,9 @@ namespace Vocaluxe.PartyModes
base.Init();
_ThemeName = "PartyScreenChallengeMain";
- _ThemeTexts = new string[] { TextPosition, TextPlayerName, TextNumPlayed, TextWon, TextSingPoints, TextGamePoints, TextPopupReallyExit };
+ _ThemeTexts = new string[] { TextPosition, TextPlayerName, TextNumPlayed, TextWon, TextSingPoints, TextGamePoints, TextNextPlayer, TextPopupReallyExit };
_ThemeButtons = new string[] { ButtonNextRound, ButtonBack, ButtonExit, ButtonPopupYes, ButtonPopupNo };
- _ThemeStatics = new string[] { StaticPopupBG };
+ _ThemeStatics = new string[] { StaticPopupBG, StaticNextPlayer };
_ScreenVersion = ScreenVersion;
}
@@ -68,6 +73,17 @@ namespace Vocaluxe.PartyModes
GameState = new DataToScreenMain();
BuildTable();
+
+ NextPlayerTexts = new List();
+ NextPlayerStatics = new List();
+
+ for (int i = 0; i < _PartyMode.GetMaxPlayer(); i++)
+ {
+ NextPlayerTexts.Add(GetNewText(Texts[htTexts(TextNextPlayer)]));
+ AddText(NextPlayerTexts[NextPlayerTexts.Count - 1]);
+ NextPlayerStatics.Add(GetNewStatic(Statics[htStatics(StaticNextPlayer)]));
+ AddStatic(NextPlayerStatics[NextPlayerStatics.Count - 1]);
+ }
}
public override void DataToScreen(object ReceivedData)
@@ -175,6 +191,8 @@ namespace Vocaluxe.PartyModes
base.OnShow();
Updatetable();
+ UpdateNextPlayerPositions();
+ UpdateNextPlayerContents();
if (GameState.CurrentRoundNr == 1)
{
@@ -236,6 +254,43 @@ namespace Vocaluxe.PartyModes
_PartyMode.DataFromScreen(_ThemeName, Data);
}
+ private void UpdateNextPlayerPositions()
+ {
+ float x = _Base.Settings.GetRenderW()/2 - ((GameState.NumPlayerAtOnce * Statics[htStatics(StaticNextPlayer)].Rect.W) + ((GameState.NumPlayerAtOnce-1) * 15))/2;
+ float static_y = 590;
+ float text_y = 550;
+ for (int i = 0; i < GameState.NumPlayerAtOnce; i++)
+ {
+ //static
+ NextPlayerStatics[i].Rect.X = x;
+ NextPlayerStatics[i].Rect.Y = static_y;
+ NextPlayerStatics[i].Visible = true;
+ //text
+ NextPlayerTexts[i].X = x + Statics[htStatics(StaticNextPlayer)].Rect.W / 2;
+ NextPlayerTexts[i].Y = text_y;
+ NextPlayerTexts[i].Visible = true;
+
+ x += Statics[htStatics(StaticNextPlayer)].Rect.W + 15;
+ }
+ for (int i = GameState.NumPlayerAtOnce; i < _PartyMode.GetMaxPlayer(); i++)
+ {
+ NextPlayerStatics[i].Visible = false;
+ NextPlayerTexts[i].Visible = false;
+ }
+ }
+
+ private void UpdateNextPlayerContents()
+ {
+ SProfile[] profiles = _Base.Profiles.GetProfiles();
+ for (int i = 0; i < GameState.NumPlayerAtOnce; i++)
+ {
+ int pid = GameState.Combs[GameState.CurrentRoundNr].Player[i];
+ NextPlayerStatics[i].Texture = profiles[GameState.ProfileIDs[pid]].Avatar.Texture;
+ NextPlayerTexts[i].Text = profiles[GameState.ProfileIDs[pid]].PlayerName;
+ NextPlayerTexts[i].Color = _Base.Theme.GetPlayerColor((i+1));
+ }
+ }
+
private void BuildTable()
{
Table = new List();