diff --git a/Output/PartyModes/Challenge/Code/PartyScreenChallengeMain.cs b/Output/PartyModes/Challenge/Code/PartyScreenChallengeMain.cs
index df92d940..d44c1d95 100644
--- a/Output/PartyModes/Challenge/Code/PartyScreenChallengeMain.cs
+++ b/Output/PartyModes/Challenge/Code/PartyScreenChallengeMain.cs
@@ -11,7 +11,6 @@ namespace Vocaluxe.PartyModes
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 1;
- private CText Warning;
public PartyScreenChallengeMain()
{
@@ -28,17 +27,6 @@ namespace Vocaluxe.PartyModes
public override void LoadTheme(string XmlPath)
{
base.LoadTheme(XmlPath);
-
- Warning = GetNewText();
- Warning.Height = 100f;
- Warning.X = 150;
- Warning.Y = 300;
- Warning.Fon = "Outline";
- Warning.Style = EStyle.Normal;
- Warning.Color = new SColorF(1f, 0f, 0f, 1f);
- Warning.SColor = new SColorF(1f, 0f, 0f, 1f);
- Warning.Text = "CHALLENGE!";
- AddText(Warning);
}
public override void ReloadTheme()
diff --git a/Output/PartyModes/Challenge/Languages/Deutsch.xml b/Output/PartyModes/Challenge/Languages/Deutsch.xml
index 5fead057..86964f20 100644
--- a/Output/PartyModes/Challenge/Languages/Deutsch.xml
+++ b/Output/PartyModes/Challenge/Languages/Deutsch.xml
@@ -7,5 +7,7 @@
Challenge Modus
Spiele mit bis zu X Spielern einem Wettkampfmodus
+
+ Challenge Modus: Übersicht
diff --git a/Output/PartyModes/Challenge/Languages/English.xml b/Output/PartyModes/Challenge/Languages/English.xml
index 1b659960..fbdd85d9 100644
--- a/Output/PartyModes/Challenge/Languages/English.xml
+++ b/Output/PartyModes/Challenge/Languages/English.xml
@@ -6,6 +6,8 @@
Challenge Mode
- Challenge with zp to X Players
+ Challenge with zp to X Players
+
+ Challenge Mode: Overview
diff --git a/Output/PartyModes/Challenge/Languages/French.xml b/Output/PartyModes/Challenge/Languages/French.xml
index 642fae0f..4f85dd90 100644
--- a/Output/PartyModes/Challenge/Languages/French.xml
+++ b/Output/PartyModes/Challenge/Languages/French.xml
@@ -7,5 +7,7 @@
TODO: Challenge Mode
TODO: Challenge with zp to X Players
+
+ Challenge Mode: Overview
diff --git a/Output/PartyModes/Challenge/Languages/Spanish.xml b/Output/PartyModes/Challenge/Languages/Spanish.xml
index 80fead48..9f3584f8 100644
--- a/Output/PartyModes/Challenge/Languages/Spanish.xml
+++ b/Output/PartyModes/Challenge/Languages/Spanish.xml
@@ -7,5 +7,7 @@
TODO: Challenge Mode
TODO: Challenge with zp to X Players
+
+ Challenge Mode: Overview
diff --git a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml
index 9f4208c6..d31241bf 100644
--- a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml
+++ b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml
@@ -53,7 +53,7 @@
Outline
- TR_SCREEN_PARTY_CHALLENGE_MAIN
+ TR_SCREENMAIN_TITLE
diff --git a/Output/Themes/Ambient/Screens/ScreenParty.xml b/Output/Themes/Ambient/Screens/ScreenParty.xml
index 0ee71709..2575bdb2 100644
--- a/Output/Themes/Ambient/Screens/ScreenParty.xml
+++ b/Output/Themes/Ambient/Screens/ScreenParty.xml
@@ -211,7 +211,7 @@
1
-
+
Button
@@ -228,6 +228,63 @@
ButtonSColor
+
+
+ 75
+ 10
+
+ 32
+
+ 142
+
+
+ ButtonTextColor
+
+
+ ButtonTextSColor
+
+ Center
+
+ Center
+
+
+
+ Outline
+
+ TR_BUTTON_START
+
+
+
+
+
+ 10
+ 26
+
+
+
+
+
+ 10
+ 26
+
+
+
+
+ Button
+
+ Button
+
+ 145
+ 600
+ 0,00
+ 150
+ 50
+
+
+ ButtonColor
+
+
+ ButtonSColor
75
diff --git a/Vocaluxe/Base/CParty.cs b/Vocaluxe/Base/CParty.cs
index 5b70b654..191f3072 100644
--- a/Vocaluxe/Base/CParty.cs
+++ b/Vocaluxe/Base/CParty.cs
@@ -266,7 +266,12 @@ namespace Vocaluxe.Base
foreach (string screenfile in pm.ScreenFiles)
{
- CMenuParty Screen = GetPartyScreenInstance(Output, screenfile, Path.Combine(Path.Combine(CSettings.sFolderPartyModes, pm.Folder), CSettings.sFolderPartyModeScreens));
+ CMenuParty Screen = GetPartyScreenInstance(
+ Output,
+ screenfile,
+ Path.Combine(Path.Combine(CSettings.sFolderPartyModes, pm.Folder), CSettings.sFolderPartyModeScreens),
+ pm.PartyModeID);
+
if (Screen != null)
pm.PartyMode.AddScreen(Screen, screenfile);
else
@@ -323,7 +328,7 @@ namespace Vocaluxe.Base
return CompileResult.CompiledAssembly;
}
- private static CMenuParty GetPartyScreenInstance(Assembly Assembly, string ScreenName, string XmlPath)
+ private static CMenuParty GetPartyScreenInstance(Assembly Assembly, string ScreenName, string XmlPath, int PartyModeID)
{
if (Assembly == null)
return null;
@@ -346,6 +351,7 @@ namespace Vocaluxe.Base
return null;
}
Screen.Initialize(CMain.Base);
+ Screen.SetPartyModeID(PartyModeID);
Screen.LoadTheme(XmlPath);
return Screen;
}
diff --git a/Vocaluxe/Screens/CScreenParty.cs b/Vocaluxe/Screens/CScreenParty.cs
index e3242a4a..8973478c 100644
--- a/Vocaluxe/Screens/CScreenParty.cs
+++ b/Vocaluxe/Screens/CScreenParty.cs
@@ -14,6 +14,7 @@ namespace Vocaluxe.Screens
const int ScreenVersion = 1;
const string TextDescription = "TextDescription";
+ const string ButtonStart = "ButtonStart";
const string ButtonExit = "ButtonExit";
const string SelectSlideModes = "SelectSlideModes";
@@ -30,7 +31,7 @@ namespace Vocaluxe.Screens
_ThemeName = "ScreenParty";
_ScreenVersion = ScreenVersion;
_ThemeTexts = new string[] { TextDescription };
- _ThemeButtons = new string[] { ButtonExit };
+ _ThemeButtons = new string[] { ButtonStart, ButtonExit };
_ThemeSelectSlides = new string[] { SelectSlideModes };
}
@@ -55,16 +56,20 @@ namespace Vocaluxe.Screens
case Keys.Escape:
CGraphics.FadeTo(EScreens.ScreenMain);
break;
-
- case Keys.C:
- CParty.SetPartyMode(1);
- CGraphics.FadeTo(EScreens.ScreenPartyDummy);
- break;
case Keys.Enter:
+ if (Buttons[htButtons(ButtonStart)].Selected)
+ StartPartyMode();
+
if (Buttons[htButtons(ButtonExit)].Selected)
CGraphics.FadeTo(EScreens.ScreenMain);
break;
+
+ case Keys.Left:
+ case Keys.Right:
+ if (SelectSlides[htSelectSlides(SelectSlideModes)].Selected)
+ UpdateSelection();
+ break;
}
}
return true;
@@ -76,6 +81,8 @@ namespace Vocaluxe.Screens
if (MouseEvent.LB && IsMouseOver(MouseEvent))
{
+ if (Buttons[htButtons(ButtonStart)].Selected)
+ StartPartyMode();
if (Buttons[htButtons(ButtonExit)].Selected)
CGraphics.FadeTo(EScreens.ScreenMain);
@@ -136,5 +143,18 @@ namespace Vocaluxe.Screens
Texts[htTexts(TextDescription)].PartyModeID = _PartyModeInfos[index].PartyModeID;
Texts[htTexts(TextDescription)].Text = _PartyModeInfos[index].Description;
}
+
+ private void StartPartyMode()
+ {
+ if (_PartyModeInfos.Count == 0)
+ return;
+
+ int index = SelectSlides[htSelectSlides(SelectSlideModes)].Selection;
+ if (index >= _PartyModeInfos.Count)
+ return;
+
+ CParty.SetPartyMode(_PartyModeInfos[index].PartyModeID);
+ CGraphics.FadeTo(EScreens.ScreenPartyDummy);
+ }
}
}
diff --git a/VocaluxeLib/Menu/CMenu.cs b/VocaluxeLib/Menu/CMenu.cs
index 76637118..a72abf1e 100644
--- a/VocaluxeLib/Menu/CMenu.cs
+++ b/VocaluxeLib/Menu/CMenu.cs
@@ -25,6 +25,7 @@ namespace Vocaluxe.Menu
private List _Interactions;
private int _Selection = 0;
private string _ThemePath = String.Empty;
+ protected int _PartyModeID = -1;
private List _Backgrounds;
private List _Buttons;
@@ -233,6 +234,7 @@ namespace Vocaluxe.Menu
for (int i = 0; i < _ThemeTexts.Length; i++)
{
CText text = new CText(_Base);
+ text.PartyModeID = _PartyModeID;
if (text.LoadTheme("//root/" + _ThemeName, _ThemeTexts[i], navigator, SkinIndex))
{
_htTexts.Add(_ThemeTexts[i], AddText(text));
@@ -1300,6 +1302,7 @@ namespace Vocaluxe.Menu
public int AddText(CText text)
{
+ text.PartyModeID = _PartyModeID;
_Texts.Add(text);
_AddInteraction(_Texts.Count - 1, EType.TText);
return _Texts.Count - 1;
@@ -2311,11 +2314,13 @@ namespace Vocaluxe.Menu
// Texts
CText text = new CText(_Base);
+ text.PartyModeID = _PartyModeID;
i = 1;
while (text.LoadTheme("//root/" + _ThemeName, "Text" + i.ToString(), navigator, SkinIndex))
{
AddText(text);
text = new CText(_Base);
+ text.PartyModeID = _PartyModeID;
i++;
}
}
diff --git a/VocaluxeLib/Menu/CMenuParty.cs b/VocaluxeLib/Menu/CMenuParty.cs
index 951503ff..e726e707 100644
--- a/VocaluxeLib/Menu/CMenuParty.cs
+++ b/VocaluxeLib/Menu/CMenuParty.cs
@@ -10,6 +10,16 @@ namespace Vocaluxe.Menu
{
}
+ public void SetPartyModeID(int PartyModeID)
+ {
+ _PartyModeID = PartyModeID;
+ }
+
+ public int GetPartyModeID()
+ {
+ return _PartyModeID;
+ }
+
/*
public sealed override void LoadTheme()
{
diff --git a/VocaluxeLib/Menu/IMenu.cs b/VocaluxeLib/Menu/IMenu.cs
index 779efcee..a50a085c 100644
--- a/VocaluxeLib/Menu/IMenu.cs
+++ b/VocaluxeLib/Menu/IMenu.cs
@@ -43,6 +43,12 @@ namespace Vocaluxe.Menu
void ProcessMouseMove(int x, int y);
}
+ public interface IMenuParty
+ {
+ void SetPartyModeID(int PartyModeID);
+ int GetPartyModeID();
+ }
+
public interface IConfig
{
void SetBackgroundMusicVolume(int NewVolume);