diff --git a/Output/PartyModes/Challenge/Code/PartyScreenChallengeConfig.cs b/Output/PartyModes/Challenge/Code/PartyScreenChallengeConfig.cs
index d04a0e3f..d39126c5 100644
--- a/Output/PartyModes/Challenge/Code/PartyScreenChallengeConfig.cs
+++ b/Output/PartyModes/Challenge/Code/PartyScreenChallengeConfig.cs
@@ -12,9 +12,15 @@ namespace Vocaluxe.PartyModes
// Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1;
+ const string SelectSlideNumPlayers = "SelectSlideNumPlayers";
+ const string SelectSlideNumMics = "SelectSlideNumMics";
+ const string SelectSlideNumRounds = "SelectSlideNumRounds";
const string ButtonNext = "ButtonNext";
const string ButtonBack = "ButtonBack";
+ private int MaxNumMics = 2;
+ private int MaxNumRounds = 10;
+
DataFromScreen Data;
public PartyScreenChallengeConfig()
@@ -26,6 +32,7 @@ namespace Vocaluxe.PartyModes
base.Init();
_ThemeName = "PartyScreenChallengeConfig";
+ _ThemeSelectSlides = new string[] { SelectSlideNumPlayers, SelectSlideNumMics, SelectSlideNumRounds };
_ThemeButtons = new string[] { ButtonNext, ButtonBack };
_ScreenVersion = ScreenVersion;
@@ -77,6 +84,7 @@ namespace Vocaluxe.PartyModes
if (MouseEvent.LB && IsMouseOver(MouseEvent))
{
+ UpdateSlides();
if (Buttons[htButtons(ButtonBack)].Selected)
Back();
@@ -95,6 +103,24 @@ namespace Vocaluxe.PartyModes
public override void OnShow()
{
base.OnShow();
+ SelectSlides[htSelectSlides(SelectSlideNumPlayers)].Clear();
+ for (int i = _PartyMode.GetMinPlayer(); i <= _PartyMode.GetMaxPlayer(); i++)
+ {
+ SelectSlides[htSelectSlides(SelectSlideNumPlayers)].AddValue(i.ToString());
+ }
+ //TODO: Max number of mics should be number of mics available
+ SelectSlides[htSelectSlides(SelectSlideNumMics)].Clear();
+ for (int i = 1; i <= MaxNumMics; i++)
+ {
+ SelectSlides[htSelectSlides(SelectSlideNumMics)].AddValue(i.ToString());
+ }
+ //TODO: Max number ofs round should depend on number of players and mics
+ SelectSlides[htSelectSlides(SelectSlideNumRounds)].Clear();
+ for (int i = 1; i <= MaxNumRounds; i++)
+ {
+ SelectSlides[htSelectSlides(SelectSlideNumRounds)].AddValue(i.ToString());
+ }
+ UpdateSlides();
}
public override bool UpdateGame()
@@ -113,6 +139,11 @@ namespace Vocaluxe.PartyModes
base.OnClose();
}
+ private void UpdateSlides()
+ {
+ //Update slides when one value was changed
+ }
+
private void Back()
{
FadeTo(EScreens.ScreenParty);
@@ -120,9 +151,9 @@ namespace Vocaluxe.PartyModes
private void Next()
{
- Data.ScreenConfig.NumPlayers = 4;
- Data.ScreenConfig.NumPlayersAtOnce = 2;
- Data.ScreenConfig.NumRounds = 8;
+ Data.ScreenConfig.NumPlayers = (SelectSlides[htSelectSlides(SelectSlideNumPlayers)].Selection + _PartyMode.GetMinPlayer());
+ Data.ScreenConfig.NumPlayersAtOnce = SelectSlides[htSelectSlides(SelectSlideNumMics)].Selection;
+ Data.ScreenConfig.NumRounds = SelectSlides[htSelectSlides(SelectSlideNumRounds)].Selection;
_PartyMode.DataFromScreen(_ThemeName, Data);
}
diff --git a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml
index c083b49c..6581aa77 100644
--- a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml
+++ b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml
@@ -322,7 +322,7 @@
Bold
- 3
+ 9
@@ -387,7 +387,7 @@
Bold
- 3
+ 2
@@ -452,7 +452,7 @@
Bold
- 3
+ 10
diff --git a/PartyModeChallenge/PartyScreenChallengeConfig.cs b/PartyModeChallenge/PartyScreenChallengeConfig.cs
index d04a0e3f..c8940e0b 100644
--- a/PartyModeChallenge/PartyScreenChallengeConfig.cs
+++ b/PartyModeChallenge/PartyScreenChallengeConfig.cs
@@ -12,9 +12,15 @@ namespace Vocaluxe.PartyModes
// Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1;
+ const string SelectSlideNumPlayers = "SelectSlideNumPlayers";
+ const string SelectSlideNumMics = "SelectSlideNumMics";
+ const string SelectSlideNumRounds = "SelectSlideNumRounds";
const string ButtonNext = "ButtonNext";
const string ButtonBack = "ButtonBack";
+ private int MaxNumMics = 2;
+ private int MaxNumRounds = 10;
+
DataFromScreen Data;
public PartyScreenChallengeConfig()
@@ -26,6 +32,7 @@ namespace Vocaluxe.PartyModes
base.Init();
_ThemeName = "PartyScreenChallengeConfig";
+ _ThemeSelectSlides = new string[] { SelectSlideNumPlayers, SelectSlideNumMics, SelectSlideNumRounds };
_ThemeButtons = new string[] { ButtonNext, ButtonBack };
_ScreenVersion = ScreenVersion;
@@ -60,12 +67,22 @@ namespace Vocaluxe.PartyModes
break;
case Keys.Enter:
+ UpdateSlides();
+
if (Buttons[htButtons(ButtonBack)].Selected)
Back();
if (Buttons[htButtons(ButtonNext)].Selected)
Next();
break;
+
+ case Keys.Left:
+ UpdateSlides();
+ break;
+
+ case Keys.Right:
+ UpdateSlides();
+ break;
}
}
return true;
@@ -77,6 +94,7 @@ namespace Vocaluxe.PartyModes
if (MouseEvent.LB && IsMouseOver(MouseEvent))
{
+ UpdateSlides();
if (Buttons[htButtons(ButtonBack)].Selected)
Back();
@@ -95,6 +113,24 @@ namespace Vocaluxe.PartyModes
public override void OnShow()
{
base.OnShow();
+ SelectSlides[htSelectSlides(SelectSlideNumPlayers)].Clear();
+ for (int i = _PartyMode.GetMinPlayer(); i <= _PartyMode.GetMaxPlayer(); i++)
+ {
+ SelectSlides[htSelectSlides(SelectSlideNumPlayers)].AddValue(i.ToString());
+ }
+ //TODO: Max number of mics should be number of mics available
+ SelectSlides[htSelectSlides(SelectSlideNumMics)].Clear();
+ for (int i = 1; i <= MaxNumMics; i++)
+ {
+ SelectSlides[htSelectSlides(SelectSlideNumMics)].AddValue(i.ToString());
+ }
+ //TODO: Max number ofs round should depend on number of players and mics
+ SelectSlides[htSelectSlides(SelectSlideNumRounds)].Clear();
+ for (int i = 1; i <= MaxNumRounds; i++)
+ {
+ SelectSlides[htSelectSlides(SelectSlideNumRounds)].AddValue(i.ToString());
+ }
+ UpdateSlides();
}
public override bool UpdateGame()
@@ -113,6 +149,11 @@ namespace Vocaluxe.PartyModes
base.OnClose();
}
+ private void UpdateSlides()
+ {
+ //Update slides when one value was changed
+ }
+
private void Back()
{
FadeTo(EScreens.ScreenParty);
@@ -120,9 +161,9 @@ namespace Vocaluxe.PartyModes
private void Next()
{
- Data.ScreenConfig.NumPlayers = 4;
- Data.ScreenConfig.NumPlayersAtOnce = 2;
- Data.ScreenConfig.NumRounds = 8;
+ Data.ScreenConfig.NumPlayers = (SelectSlides[htSelectSlides(SelectSlideNumPlayers)].Selection + _PartyMode.GetMinPlayer());
+ Data.ScreenConfig.NumPlayersAtOnce = SelectSlides[htSelectSlides(SelectSlideNumMics)].Selection;
+ Data.ScreenConfig.NumRounds = SelectSlides[htSelectSlides(SelectSlideNumRounds)].Selection;
_PartyMode.DataFromScreen(_ThemeName, Data);
}