From 9257e6f1347762791c01e3b67fbb1b158200b467 Mon Sep 17 00:00:00 2001 From: Alexander Eckart Date: Sat, 15 Dec 2012 18:40:22 +0100 Subject: [PATCH] added partymodeID to all elements, fixed bug in buttons (text was drawn twice) --- Output/PartyModes/Challenge.xml | 2 + .../Challenge/Code/PartyModeChallenge.cs | 2 +- .../Code/PartyScreenChallengeConfig.cs | 95 ++++++++++ .../Code/PartyScreenChallengeMain.cs | 16 -- .../Code/PartyScreenChallengeNames.cs | 91 +++++++++ .../Challenge/Languages/Deutsch.xml | 7 + .../Challenge/Languages/English.xml | 9 +- .../PartyModes/Challenge/Languages/French.xml | 11 +- .../Challenge/Languages/Spanish.xml | 11 +- .../Screens/PartyScreenChallengeConfig.xml | 176 ++++++++++++++++++ .../Screens/PartyScreenChallengeNames.xml | 176 ++++++++++++++++++ Vocaluxe.sln | 1 + Vocaluxe/Base/CParty.cs | 12 +- VocaluxeLib/Menu/CBackground.cs | 4 +- VocaluxeLib/Menu/CButton.cs | 20 +- VocaluxeLib/Menu/CEqualizer.cs | 4 +- VocaluxeLib/Menu/CLyric.cs | 6 +- VocaluxeLib/Menu/CMenu.cs | 64 +++---- VocaluxeLib/Menu/CNameSelection.cs | 10 +- VocaluxeLib/Menu/CParticle.cs | 18 +- VocaluxeLib/Menu/CPlaylist.cs | 27 +-- VocaluxeLib/Menu/CSelectSlide.cs | 5 +- VocaluxeLib/Menu/CStatic.cs | 11 +- VocaluxeLib/Menu/CText.cs | 13 +- VocaluxeLib/Menu/SingNotes/CSingNotes.cs | 12 +- .../Menu/SingNotes/CSingNotesClassic.cs | 4 +- VocaluxeLib/Menu/SongMenu/CSongMenu.cs | 6 +- VocaluxeLib/Menu/SongMenu/CSongMenuBook.cs | 4 +- VocaluxeLib/Menu/SongMenu/CSongMenuDreidel.cs | 4 +- .../Menu/SongMenu/CSongMenuFramework.cs | 24 +-- VocaluxeLib/Menu/SongMenu/CSongMenuList.cs | 4 +- .../Menu/SongMenu/CSongMenuTileBoard.cs | 12 +- 32 files changed, 725 insertions(+), 136 deletions(-) create mode 100644 Output/PartyModes/Challenge/Code/PartyScreenChallengeConfig.cs create mode 100644 Output/PartyModes/Challenge/Code/PartyScreenChallengeNames.cs create mode 100644 Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml create mode 100644 Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml diff --git a/Output/PartyModes/Challenge.xml b/Output/PartyModes/Challenge.xml index faf68ddd..9310ccc9 100644 --- a/Output/PartyModes/Challenge.xml +++ b/Output/PartyModes/Challenge.xml @@ -12,5 +12,7 @@ PartyScreenChallengeMain + PartyScreenChallengeConfig + PartyScreenChallengeNames \ No newline at end of file diff --git a/Output/PartyModes/Challenge/Code/PartyModeChallenge.cs b/Output/PartyModes/Challenge/Code/PartyModeChallenge.cs index 3f248848..1ca2cd5b 100644 --- a/Output/PartyModes/Challenge/Code/PartyModeChallenge.cs +++ b/Output/PartyModes/Challenge/Code/PartyModeChallenge.cs @@ -22,7 +22,7 @@ namespace Vocaluxe.PartyModes public override CMenuParty GetNextPartyScreen() { CMenuParty Screen = null; - _Screens.TryGetValue("PartyScreenChallengeMain", out Screen); + _Screens.TryGetValue("PartyScreenChallengeConfig", out Screen); return Screen; } diff --git a/Output/PartyModes/Challenge/Code/PartyScreenChallengeConfig.cs b/Output/PartyModes/Challenge/Code/PartyScreenChallengeConfig.cs new file mode 100644 index 00000000..c988c88f --- /dev/null +++ b/Output/PartyModes/Challenge/Code/PartyScreenChallengeConfig.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +using Vocaluxe.Menu; + +namespace Vocaluxe.PartyModes +{ + public class PartyScreenChallengeConfig : CMenuParty + { + // Version number for theme files. Increment it, if you've changed something on the theme files! + const int ScreenVersion = 1; + + const string ButtonNext = "ButtonNext"; + const string ButtonBack = "ButtonBack"; + + public PartyScreenChallengeConfig() + { + } + + protected override void Init() + { + base.Init(); + + _ThemeName = "PartyScreenChallengeConfig"; + _ThemeButtons = new string[] { ButtonNext, ButtonBack }; + _ScreenVersion = ScreenVersion; + } + + public override void LoadTheme(string XmlPath) + { + base.LoadTheme(XmlPath); + } + + public override bool HandleInput(KeyEvent KeyEvent) + { + base.HandleInput(KeyEvent); + + if (KeyEvent.KeyPressed) + { + + } + else + { + switch (KeyEvent.Key) + { + case Keys.Back: + case Keys.Escape: + FadeTo(EScreens.ScreenParty); + break; + } + } + return true; + } + + public override bool HandleMouse(MouseEvent MouseEvent) + { + base.HandleMouse(MouseEvent); + + if (MouseEvent.LB && IsMouseOver(MouseEvent)) + { + + } + + if (MouseEvent.RB) + { + FadeTo(EScreens.ScreenParty); + } + + return true; + } + + public override void OnShow() + { + base.OnShow(); + } + + public override bool UpdateGame() + { + return true; + } + + public override bool Draw() + { + base.Draw(); + return true; + } + + public override void OnClose() + { + base.OnClose(); + } + } +} diff --git a/Output/PartyModes/Challenge/Code/PartyScreenChallengeMain.cs b/Output/PartyModes/Challenge/Code/PartyScreenChallengeMain.cs index d44c1d95..eb06ae0e 100644 --- a/Output/PartyModes/Challenge/Code/PartyScreenChallengeMain.cs +++ b/Output/PartyModes/Challenge/Code/PartyScreenChallengeMain.cs @@ -29,22 +29,6 @@ namespace Vocaluxe.PartyModes base.LoadTheme(XmlPath); } - public override void ReloadTheme() - { - } - - public override void ReloadTextures() - { - } - - public override void SaveTheme() - { - } - - public override void UnloadTextures() - { - } - public override bool HandleInput(KeyEvent KeyEvent) { base.HandleInput(KeyEvent); diff --git a/Output/PartyModes/Challenge/Code/PartyScreenChallengeNames.cs b/Output/PartyModes/Challenge/Code/PartyScreenChallengeNames.cs new file mode 100644 index 00000000..908f4c0e --- /dev/null +++ b/Output/PartyModes/Challenge/Code/PartyScreenChallengeNames.cs @@ -0,0 +1,91 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +using Vocaluxe.Menu; + +namespace Vocaluxe.PartyModes +{ + public class PartyScreenChallengeNames : CMenuParty + { + // Version number for theme files. Increment it, if you've changed something on the theme files! + const int ScreenVersion = 1; + + public PartyScreenChallengeNames() + { + } + + protected override void Init() + { + base.Init(); + + _ThemeName = "PartyScreenChallengeNames"; + _ScreenVersion = ScreenVersion; + } + + public override void LoadTheme(string XmlPath) + { + base.LoadTheme(XmlPath); + } + + public override bool HandleInput(KeyEvent KeyEvent) + { + base.HandleInput(KeyEvent); + + if (KeyEvent.KeyPressed) + { + + } + else + { + switch (KeyEvent.Key) + { + case Keys.Back: + case Keys.Escape: + FadeTo(EScreens.ScreenParty); + break; + } + } + return true; + } + + public override bool HandleMouse(MouseEvent MouseEvent) + { + base.HandleMouse(MouseEvent); + + if (MouseEvent.LB && IsMouseOver(MouseEvent)) + { + + } + + if (MouseEvent.RB) + { + FadeTo(EScreens.ScreenParty); + } + + return true; + } + + public override void OnShow() + { + base.OnShow(); + } + + public override bool UpdateGame() + { + return true; + } + + public override bool Draw() + { + base.Draw(); + return true; + } + + public override void OnClose() + { + base.OnClose(); + } + } +} diff --git a/Output/PartyModes/Challenge/Languages/Deutsch.xml b/Output/PartyModes/Challenge/Languages/Deutsch.xml index 86964f20..20f1c5e7 100644 --- a/Output/PartyModes/Challenge/Languages/Deutsch.xml +++ b/Output/PartyModes/Challenge/Languages/Deutsch.xml @@ -7,6 +7,13 @@ Challenge Modus Spiele mit bis zu X Spielern einem Wettkampfmodus + Weiter + Zurück + Start + + Challenge Modus: Einstellungen + + Challenge Modus: Spielerwahl Challenge Modus: Übersicht diff --git a/Output/PartyModes/Challenge/Languages/English.xml b/Output/PartyModes/Challenge/Languages/English.xml index fbdd85d9..18a6c856 100644 --- a/Output/PartyModes/Challenge/Languages/English.xml +++ b/Output/PartyModes/Challenge/Languages/English.xml @@ -6,7 +6,14 @@ Challenge Mode - Challenge with zp to X Players + Challenge with up to X Players + Next + Back + Start + + Challenge Mode: Configuration + + Challenge Mode: Choose Player Challenge Mode: Overview diff --git a/Output/PartyModes/Challenge/Languages/French.xml b/Output/PartyModes/Challenge/Languages/French.xml index 4f85dd90..19a27703 100644 --- a/Output/PartyModes/Challenge/Languages/French.xml +++ b/Output/PartyModes/Challenge/Languages/French.xml @@ -6,8 +6,15 @@ TODO: Challenge Mode - TODO: Challenge with zp to X Players + TODO: Challenge with up to X Players + TODO: Next + Retour + Démarrer + + TODO: Challenge Mode: Configuration + + TODO: Challenge Mode: Choose Player - Challenge Mode: Overview + TODO: Challenge Mode: Overview diff --git a/Output/PartyModes/Challenge/Languages/Spanish.xml b/Output/PartyModes/Challenge/Languages/Spanish.xml index 9f3584f8..2c319ab5 100644 --- a/Output/PartyModes/Challenge/Languages/Spanish.xml +++ b/Output/PartyModes/Challenge/Languages/Spanish.xml @@ -6,8 +6,15 @@ TODO: Challenge Mode - TODO: Challenge with zp to X Players + TODO: Challenge with up to X Players + TODO: Next + Volver + Comenzar + + TODO: Challenge Mode: Configuration + + TODO: Challenge Mode: Choose Player - Challenge Mode: Overview + TODO: Challenge Mode: Overview diff --git a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml new file mode 100644 index 00000000..e247496c --- /dev/null +++ b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml @@ -0,0 +1,176 @@ + + + + 1 + + + Video + + + + BG_Default + + + BackgroundColor + + + + Menu + + 40 + 40 + 0,00 + 1200 + 50 + + + StaticColor + + + + + + + 640 + 48 + + 0,00 + + 32 + + + + StaticColor + + + TextSColor + + Center + + Center + + + + Outline + + TR_SCREENCONFIG_TITLE + + + + + + + Button + + Button + + 985 + 600 + 0,00 + 150 + 50 + + + ButtonColor + + + ButtonSColor + + + 75 + 10 + + 32 + + 142 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + TR_BUTTON_NEXT + + + + + + 10 + 26 + + + + + + 10 + 26 + + + + + Button + + Button + + 145 + 600 + 0,00 + 150 + 50 + + + ButtonColor + + + ButtonSColor + + + 75 + 10 + + 32 + + 142 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + TR_BUTTON_BACK + + + + + + 10 + 26 + + + + + + 10 + 26 + + + + \ No newline at end of file diff --git a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml new file mode 100644 index 00000000..41936afa --- /dev/null +++ b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml @@ -0,0 +1,176 @@ + + + + 1 + + + Video + + + + BG_Default + + + BackgroundColor + + + + Menu + + 40 + 40 + 0,00 + 1200 + 50 + + + StaticColor + + + + + + + 640 + 48 + + 0,00 + + 32 + + + + StaticColor + + + TextSColor + + Center + + Center + + + + Outline + + TR_SCREENNAMES_TITLE + + + + + + + Button + + Button + + 985 + 600 + 0,00 + 150 + 50 + + + ButtonColor + + + ButtonSColor + + + 75 + 10 + + 32 + + 142 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + TR_BUTTON_NEXT + + + + + + 10 + 26 + + + + + + 10 + 26 + + + + + Button + + Button + + 145 + 600 + 0,00 + 150 + 50 + + + ButtonColor + + + ButtonSColor + + + 75 + 10 + + 32 + + 142 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + TR_BUTTON_BACK + + + + + + 10 + 26 + + + + + + 10 + 26 + + + + \ No newline at end of file diff --git a/Vocaluxe.sln b/Vocaluxe.sln index 53d52203..4fcb3b6a 100644 --- a/Vocaluxe.sln +++ b/Vocaluxe.sln @@ -40,6 +40,7 @@ Global {D2B6DDEF-E0E1-4DDF-A73A-E6ACEF5C95EC}.DebugLinux|x64.Build.0 = DebugLinux|x64 {D2B6DDEF-E0E1-4DDF-A73A-E6ACEF5C95EC}.DebugLinux|x86.ActiveCfg = DebugLinux|x86 {D2B6DDEF-E0E1-4DDF-A73A-E6ACEF5C95EC}.DebugWin|x64.ActiveCfg = DebugWin|x64 + {D2B6DDEF-E0E1-4DDF-A73A-E6ACEF5C95EC}.DebugWin|x64.Build.0 = DebugWin|x64 {D2B6DDEF-E0E1-4DDF-A73A-E6ACEF5C95EC}.DebugWin|x86.ActiveCfg = DebugWin|x86 {D2B6DDEF-E0E1-4DDF-A73A-E6ACEF5C95EC}.ReleaseLinux|x64.ActiveCfg = ReleaseLinux|x64 {D2B6DDEF-E0E1-4DDF-A73A-E6ACEF5C95EC}.ReleaseLinux|x86.ActiveCfg = ReleaseLinux|x86 diff --git a/Vocaluxe/Base/CParty.cs b/Vocaluxe/Base/CParty.cs index 191f3072..72076ad2 100644 --- a/Vocaluxe/Base/CParty.cs +++ b/Vocaluxe/Base/CParty.cs @@ -246,6 +246,12 @@ namespace Vocaluxe.Base if (Output == null) return pm; + if (!CLanguage.LoadPartyLanguageFiles(pm.PartyModeID, Path.Combine(Path.Combine(CSettings.sFolderPartyModes, pm.Folder), CSettings.sFolderPartyModeLanguages))) + { + CLog.LogError("Error loading language files for PartyMode: " + file); + return pm; + } + object Instance = Output.CreateInstance("Vocaluxe.PartyModes." + pm.PartyModeFile); if (Instance == null) { @@ -278,12 +284,6 @@ namespace Vocaluxe.Base return pm; } - if (!CLanguage.LoadPartyLanguageFiles(pm.PartyModeID, Path.Combine(Path.Combine(CSettings.sFolderPartyModes, pm.Folder), CSettings.sFolderPartyModeLanguages))) - { - CLog.LogError("Error loading language files for PartyMode: " + file); - return pm; - } - pm.NoErrors = true; return pm; } diff --git a/VocaluxeLib/Menu/CBackground.cs b/VocaluxeLib/Menu/CBackground.cs index 541d61fb..33669c23 100644 --- a/VocaluxeLib/Menu/CBackground.cs +++ b/VocaluxeLib/Menu/CBackground.cs @@ -30,6 +30,7 @@ namespace Vocaluxe.Menu public class CBackground : IMenuElement { + private int _PartyModeID; private Basic _Base; private SThemeBackground _Theme; private bool _ThemeLoaded; @@ -42,8 +43,9 @@ namespace Vocaluxe.Menu } #region Constructors - public CBackground(Basic Base) + public CBackground(Basic Base, int PartyModeID) { + _PartyModeID = PartyModeID; _Base = Base; _ThemeLoaded = false; _Theme = new SThemeBackground(); diff --git a/VocaluxeLib/Menu/CButton.cs b/VocaluxeLib/Menu/CButton.cs index a991e2cf..a6dbf7ad 100644 --- a/VocaluxeLib/Menu/CButton.cs +++ b/VocaluxeLib/Menu/CButton.cs @@ -23,6 +23,7 @@ namespace Vocaluxe.Menu private Basic _Base; private SThemeButton _Theme; private bool _ThemeLoaded; + private int _PartyModeID; public SRectF Rect; public SColorF Color; @@ -69,8 +70,9 @@ namespace Vocaluxe.Menu return _Theme.Name; } - public CButton(Basic Base) + public CButton(Basic Base, int PartyModeID) { + _PartyModeID = PartyModeID; _Base = Base; _Theme = new SThemeButton(); Rect = new SRectF(); @@ -78,8 +80,8 @@ namespace Vocaluxe.Menu SColor = new SColorF(); SelText = false; - Text = new CText(_Base); - SText = new CText(_Base); + Text = new CText(_Base, _PartyModeID); + SText = new CText(_Base, _PartyModeID); Selected = false; Visible = true; EditMode = false; @@ -269,34 +271,40 @@ namespace Vocaluxe.Menu { texture = _Base.Theme.GetSkinTexture(_Theme.TextureName); _Base.Drawing.DrawTexture(texture, Rect, Color); - Text.DrawRelative(Rect.X, Rect.Y); + if (Reflection) { _Base.Drawing.DrawTextureReflection(texture, Rect, Color, Rect, ReflectionSpace, ReflectionHeight); Text.DrawRelative(Rect.X, Rect.Y, ReflectionSpace, ReflectionHeight, Rect.H); } + else + Text.DrawRelative(Rect.X, Rect.Y); } else if(!SelText) { texture = _Base.Theme.GetSkinTexture(_Theme.STextureName); _Base.Drawing.DrawTexture(texture, Rect, SColor); - Text.DrawRelative(Rect.X, Rect.Y); + if (Reflection) { _Base.Drawing.DrawTextureReflection(texture, Rect, SColor, Rect, ReflectionSpace, ReflectionHeight); Text.DrawRelative(Rect.X, Rect.Y, ReflectionSpace, ReflectionHeight, Rect.H); } + else + Text.DrawRelative(Rect.X, Rect.Y); } else if(SelText) { texture = _Base.Theme.GetSkinTexture(_Theme.STextureName); _Base.Drawing.DrawTexture(texture, Rect, SColor); - SText.DrawRelative(Rect.X, Rect.Y); + if (Reflection) { _Base.Drawing.DrawTextureReflection(texture, Rect, SColor, Rect, ReflectionSpace, ReflectionHeight); SText.DrawRelative(Rect.X, Rect.Y, ReflectionSpace, ReflectionHeight, Rect.H); } + else + SText.DrawRelative(Rect.X, Rect.Y); } } diff --git a/VocaluxeLib/Menu/CEqualizer.cs b/VocaluxeLib/Menu/CEqualizer.cs index 6614d8fd..e60e9d1e 100644 --- a/VocaluxeLib/Menu/CEqualizer.cs +++ b/VocaluxeLib/Menu/CEqualizer.cs @@ -28,6 +28,7 @@ namespace Vocaluxe.Menu public class CEqualizer : IMenuElement { + private int _PartyModeID; private Basic _Base; private SThemeEqualizer _Theme; private bool _ThemeLoaded; @@ -52,8 +53,9 @@ namespace Vocaluxe.Menu private float[] _Bars; - public CEqualizer(Basic Base) + public CEqualizer(Basic Base, int PartyModeID) { + _PartyModeID = PartyModeID; _Base = Base; _Theme = new SThemeEqualizer(); _ThemeLoaded = false; diff --git a/VocaluxeLib/Menu/CLyric.cs b/VocaluxeLib/Menu/CLyric.cs index ef91efa7..7bbf8579 100644 --- a/VocaluxeLib/Menu/CLyric.cs +++ b/VocaluxeLib/Menu/CLyric.cs @@ -28,6 +28,7 @@ namespace Vocaluxe.Menu public class CLyric : IMenuElement { + private int _PartyModeID; private Basic _Base; private SThemeLyrics _Theme; private bool _ThemeLoaded; @@ -86,8 +87,9 @@ namespace Vocaluxe.Menu set { _Style = value; } } - public CLyric(Basic Base) + public CLyric(Basic Base, int PartyModeID) { + _PartyModeID = PartyModeID; _Base = Base; _Theme = new SThemeLyrics(); _ThemeLoaded = false; @@ -101,7 +103,7 @@ namespace Vocaluxe.Menu _H = 1f; _width = 1f; _Notes = new List(); - _Text = new CText(_Base); + _Text = new CText(_Base, _PartyModeID); _Style = ELyricStyle.Fill; } diff --git a/VocaluxeLib/Menu/CMenu.cs b/VocaluxeLib/Menu/CMenu.cs index a72abf1e..0d0b3f8b 100644 --- a/VocaluxeLib/Menu/CMenu.cs +++ b/VocaluxeLib/Menu/CMenu.cs @@ -201,7 +201,7 @@ namespace Vocaluxe.Menu { for (int i = 0; i < _ThemeBackgrounds.Length; i++) { - CBackground background = new CBackground(_Base); + CBackground background = new CBackground(_Base, _PartyModeID); if (background.LoadTheme("//root/" + _ThemeName, _ThemeBackgrounds[i], navigator, SkinIndex)) { _htBackgrounds.Add(_ThemeBackgrounds[i], AddBackground(background)); @@ -217,7 +217,7 @@ namespace Vocaluxe.Menu { for (int i = 0; i < _ThemeStatics.Length; i++) { - CStatic stat = new CStatic(_Base); + CStatic stat = new CStatic(_Base, _PartyModeID); if (stat.LoadTheme("//root/" + _ThemeName, _ThemeStatics[i], navigator, SkinIndex)) { _htStatics.Add(_ThemeStatics[i], AddStatic(stat)); @@ -233,8 +233,7 @@ namespace Vocaluxe.Menu { for (int i = 0; i < _ThemeTexts.Length; i++) { - CText text = new CText(_Base); - text.PartyModeID = _PartyModeID; + CText text = new CText(_Base, _PartyModeID); if (text.LoadTheme("//root/" + _ThemeName, _ThemeTexts[i], navigator, SkinIndex)) { _htTexts.Add(_ThemeTexts[i], AddText(text)); @@ -250,7 +249,7 @@ namespace Vocaluxe.Menu { for (int i = 0; i < _ThemeButtons.Length; i++) { - CButton button = new CButton(_Base); + CButton button = new CButton(_Base, _PartyModeID); if (button.LoadTheme("//root/" + _ThemeName, _ThemeButtons[i], navigator, SkinIndex)) { _htButtons.Add(_ThemeButtons[i], AddButton(button)); @@ -266,7 +265,7 @@ namespace Vocaluxe.Menu { for (int i = 0; i < _ThemeSelectSlides.Length; i++) { - CSelectSlide slide = new CSelectSlide(_Base); + CSelectSlide slide = new CSelectSlide(_Base, _PartyModeID); if (slide.LoadTheme("//root/" + _ThemeName, _ThemeSelectSlides[i], navigator, SkinIndex)) { _htSelectSlides.Add(_ThemeSelectSlides[i], AddSelectSlide(slide)); @@ -282,7 +281,7 @@ namespace Vocaluxe.Menu { for (int i = 0; i < _ThemeSongMenus.Length; i++) { - CSongMenu sm = new CSongMenu(_Base); + CSongMenu sm = new CSongMenu(_Base, _PartyModeID); if (sm.LoadTheme("//root/" + _ThemeName, _ThemeSongMenus[i], navigator, SkinIndex)) { _htSongMenus.Add(_ThemeSongMenus[i], AddSongMenu(sm)); @@ -298,7 +297,7 @@ namespace Vocaluxe.Menu { for (int i = 0; i < _ThemeLyrics.Length; i++) { - CLyric lyric = new CLyric(_Base); + CLyric lyric = new CLyric(_Base, _PartyModeID); if (lyric.LoadTheme("//root/" + _ThemeName, _ThemeLyrics[i], navigator, SkinIndex)) { _htLyrics.Add(_ThemeLyrics[i], AddLyric(lyric)); @@ -314,7 +313,7 @@ namespace Vocaluxe.Menu { for (int i = 0; i < _ThemeSingNotes.Length; i++) { - CSingNotes notes = new CSingNotesClassic(_Base); + CSingNotes notes = new CSingNotesClassic(_Base, _PartyModeID); if (notes.LoadTheme("//root/" + _ThemeName, _ThemeSingNotes[i], navigator, SkinIndex)) { _htSingNotes.Add(_ThemeSingNotes[i], AddSingNote(notes)); @@ -330,7 +329,7 @@ namespace Vocaluxe.Menu { for (int i = 0; i < _ThemeNameSelections.Length; i++) { - CNameSelection nsel = new CNameSelection(_Base); + CNameSelection nsel = new CNameSelection(_Base, _PartyModeID); if (nsel.LoadTheme("//root/" + _ThemeName, _ThemeNameSelections[i], navigator, SkinIndex)) { _htNameSelections.Add(_ThemeNameSelections[i], AddNameSelection(nsel)); @@ -346,7 +345,7 @@ namespace Vocaluxe.Menu { for (int i = 0; i < _ThemeEqualizers.Length; i++) { - CEqualizer eq = new CEqualizer(_Base); + CEqualizer eq = new CEqualizer(_Base, _PartyModeID); if (eq.LoadTheme("//root/" + _ThemeName, _ThemeEqualizers[i], navigator, SkinIndex)) { _htEqualizers.Add(_ThemeEqualizers[i], AddEqualizer(eq)); @@ -362,7 +361,7 @@ namespace Vocaluxe.Menu { for (int i = 0; i < _ThemePlaylists.Length; i++) { - CPlaylist pls = new CPlaylist(_Base); + CPlaylist pls = new CPlaylist(_Base, _PartyModeID); if (pls.LoadTheme("//root/" + _ThemeName, _ThemePlaylists[i], navigator, SkinIndex)) { _htPlaylists.Add(_ThemePlaylists[i], AddPlaylist(pls)); @@ -661,12 +660,12 @@ namespace Vocaluxe.Menu #region Create Elements public CButton GetNewButton() { - return new CButton(_Base); + return new CButton(_Base, _PartyModeID); } public CText GetNewText() { - return new CText(_Base); + return new CText(_Base, _PartyModeID); } public CText GetNewText(float x, float y, float z, float h, float mw, EAlignment align, EStyle style, string font, SColorF col, string text) @@ -677,57 +676,57 @@ namespace Vocaluxe.Menu public CBackground GetNewBackground() { - return new CBackground(_Base); + return new CBackground(_Base, _PartyModeID); } public CStatic GetNewStatic() { - return new CStatic(_Base); + return new CStatic(_Base, _PartyModeID); } public CStatic GetNewStatic(STexture Texture, SColorF Color, SRectF Rect) { - return new CStatic(_Base, Texture, Color, Rect); + return new CStatic(_Base, _PartyModeID, Texture, Color, Rect); } public CSelectSlide GetNewSelectSlide() { - return new CSelectSlide(_Base); + return new CSelectSlide(_Base, _PartyModeID); } public CSongMenu GetNewSongMenu() { - return new CSongMenu(_Base); + return new CSongMenu(_Base, _PartyModeID); } public CLyric GetNewLyric() { - return new CLyric(_Base); + return new CLyric(_Base, _PartyModeID); } public CSingNotes GetNewSingNotes() { - return new CSingNotesClassic(_Base); + return new CSingNotesClassic(_Base, _PartyModeID); } public CNameSelection GetNewNameSelection() { - return new CNameSelection(_Base); + return new CNameSelection(_Base, _PartyModeID); } public CEqualizer GetNewEqualizer() { - return new CEqualizer(_Base); + return new CEqualizer(_Base, _PartyModeID); } public CPlaylist GetNewPlaylist() { - return new CPlaylist(_Base); + return new CPlaylist(_Base, _PartyModeID); } public CParticleEffect GetNewParticleEffect(int MaxNumber, SColorF Color, SRectF Area, STexture Texture, float Size, EParticeType Type) { - return new CParticleEffect(_Base, MaxNumber, Color, Area, Texture, Size, Type); + return new CParticleEffect(_Base, _PartyModeID, MaxNumber, Color, Area, Texture, Size, Type); } #endregion Create Elements @@ -1302,7 +1301,6 @@ namespace Vocaluxe.Menu public int AddText(CText text) { - text.PartyModeID = _PartyModeID; _Texts.Add(text); _AddInteraction(_Texts.Count - 1, EType.TText); return _Texts.Count - 1; @@ -2293,34 +2291,32 @@ namespace Vocaluxe.Menu string value = String.Empty; // Backgrounds - CBackground background = new CBackground(_Base); + CBackground background = new CBackground(_Base, _PartyModeID); int i = 1; while (background.LoadTheme("//root/" + _ThemeName, "Background" + i.ToString(), navigator, SkinIndex)) { AddBackground(background); - background = new CBackground(_Base); + background = new CBackground(_Base, _PartyModeID); i++; } // Statics - CStatic stat = new CStatic(_Base); + CStatic stat = new CStatic(_Base, _PartyModeID); i = 1; while (stat.LoadTheme("//root/" + _ThemeName, "Static" + i.ToString(), navigator, SkinIndex)) { AddStatic(stat); - stat = new CStatic(_Base); + stat = new CStatic(_Base, _PartyModeID); i++; } // Texts - CText text = new CText(_Base); - text.PartyModeID = _PartyModeID; + CText text = new CText(_Base, _PartyModeID); i = 1; while (text.LoadTheme("//root/" + _ThemeName, "Text" + i.ToString(), navigator, SkinIndex)) { AddText(text); - text = new CText(_Base); - text.PartyModeID = _PartyModeID; + text = new CText(_Base, _PartyModeID); i++; } } diff --git a/VocaluxeLib/Menu/CNameSelection.cs b/VocaluxeLib/Menu/CNameSelection.cs index 18eea9da..2253977e 100644 --- a/VocaluxeLib/Menu/CNameSelection.cs +++ b/VocaluxeLib/Menu/CNameSelection.cs @@ -44,6 +44,7 @@ namespace Vocaluxe.Menu } } + private int _PartyModeID; private Basic _Base; private SThemeNameSelection _Theme; private bool _ThemeLoaded; @@ -84,8 +85,9 @@ namespace Vocaluxe.Menu private CStatic PlayerSelector; - public CNameSelection(Basic Base) + public CNameSelection(Basic Base, int PartyModeID) { + _PartyModeID = PartyModeID; _Base = Base; _Theme = new SThemeNameSelection(); @@ -97,7 +99,7 @@ namespace Vocaluxe.Menu { PrepareTiles(); - PlayerSelector = new CStatic(_Base); + PlayerSelector = new CStatic(_Base, _PartyModeID); PlayerSelector.Texture = _TextureTileSelected; PlayerSelector.Rect = new SRectF(0, 0, (_TileW + 6), (_TileH + 6), (Rect.Z - 0.5f)); PlayerSelector.Visible = false; @@ -466,7 +468,7 @@ namespace Vocaluxe.Menu } } - return new CStatic(_Base); + return new CStatic(_Base, _PartyModeID); } public void UnloadTextures() @@ -501,7 +503,7 @@ namespace Vocaluxe.Menu for (int j = 0; j < _NumW; j++) { SRectF rect = new SRectF(Rect.X + j * (_TileW + _SpaceW), Rect.Y + i * (_TileH + _SpaceH), _TileW, _TileH, Rect.Z); - CStatic tileStatic = new CStatic(_Base, _TextureEmptyTile, ColorEmptyTile, rect); + CStatic tileStatic = new CStatic(_Base, _PartyModeID, _TextureEmptyTile, ColorEmptyTile, rect); CText tileText = new CText(_Base, rect.X + rect.W / 2, rect.Y + rect.H + _Theme.NameSpace, rect.Z, _Theme.NameHeight, rect.W, EAlignment.Center, _Theme.NameStyle, _Theme.NameFont, _Theme.NameColor, ""); _Tiles.Add(new CTile(tileStatic, tileText, -1)); } diff --git a/VocaluxeLib/Menu/CParticle.cs b/VocaluxeLib/Menu/CParticle.cs index 67535c2e..4c946d89 100644 --- a/VocaluxeLib/Menu/CParticle.cs +++ b/VocaluxeLib/Menu/CParticle.cs @@ -17,6 +17,7 @@ namespace Vocaluxe.Menu class CParticle { #region private vars + private int _PartyModeID; private Basic _Base; private string _TextureName; private STexture _Texture; @@ -84,8 +85,9 @@ namespace Vocaluxe.Menu #endregion public vars #region Constructors - public CParticle(Basic Base, string textureName, SColorF color, float x, float y, float size, float maxage, float z, float vx, float vy, float vr, float vsize, EParticeType type) + public CParticle(Basic Base, int PartyModeID, string textureName, SColorF color, float x, float y, float size, float maxage, float z, float vx, float vy, float vr, float vsize, EParticeType type) { + _PartyModeID = PartyModeID; _Base = Base; _TextureName = textureName; _Texture = new STexture(-1); @@ -107,8 +109,9 @@ namespace Vocaluxe.Menu _Rotation = (float)(_Base.Game.GetRandomDouble() * 360.0); } - public CParticle(Basic Base, STexture texture, SColorF color, float x, float y, float size, float maxage, float z, float vx, float vy, float vr, float vsize, EParticeType type) + public CParticle(Basic Base, int PartyModeID, STexture texture, SColorF color, float x, float y, float size, float maxage, float z, float vx, float vy, float vr, float vsize, EParticeType type) { + _PartyModeID = PartyModeID; _Base = Base; _TextureName = String.Empty; _Texture = texture; @@ -288,6 +291,7 @@ namespace Vocaluxe.Menu public class CParticleEffect { + private int _PartyModeID; private Basic _Base; private List _Stars; private string _TextureName; @@ -316,8 +320,9 @@ namespace Vocaluxe.Menu set { _Area = value; } } - public CParticleEffect(Basic Base, int MaxNumber, SColorF Color, SRectF Area, string TextureName, float Size, EParticeType Type) + public CParticleEffect(Basic Base, int PartyModeID, int MaxNumber, SColorF Color, SRectF Area, string TextureName, float Size, EParticeType Type) { + _PartyModeID = PartyModeID; _Base = Base; _Stars = new List(); _Area = Area; @@ -331,8 +336,9 @@ namespace Vocaluxe.Menu _NextSpawnTime = 0f; } - public CParticleEffect(Basic Base, int MaxNumber, SColorF Color, SRectF Area, STexture texture, float Size, EParticeType Type) + public CParticleEffect(Basic Base, int PartyModeID, int MaxNumber, SColorF Color, SRectF Area, STexture texture, float Size, EParticeType Type) { + _PartyModeID = PartyModeID; _Base = Base; _Stars = new List(); _Area = Area; @@ -439,14 +445,14 @@ namespace Vocaluxe.Menu CParticle star; if (_TextureName != String.Empty) { - star = new CParticle(_Base, _TextureName, _Color, + star = new CParticle(_Base, _PartyModeID, _TextureName, _Color, _Base.Game.GetRandom(w) + _Area.X - size / 4f, _Base.Game.GetRandom(h) + _Area.Y - size / 4f, size, lifetime, _Area.Z, vx, vy, vr, vsize, _Type); } else { - star = new CParticle(_Base, _Texture, _Color, + star = new CParticle(_Base, _PartyModeID, _Texture, _Color, _Base.Game.GetRandom(w) + _Area.X - size / 4f, _Base.Game.GetRandom(h) + _Area.Y - size / 4f, size, lifetime, _Area.Z, vx, vy, vr, vsize, _Type); diff --git a/VocaluxeLib/Menu/CPlaylist.cs b/VocaluxeLib/Menu/CPlaylist.cs index a6f79c14..734a2112 100644 --- a/VocaluxeLib/Menu/CPlaylist.cs +++ b/VocaluxeLib/Menu/CPlaylist.cs @@ -132,7 +132,7 @@ namespace Vocaluxe.Menu Text1.Y += diffY; } } - + private int _PartyModeID; private Basic _Base; private SThemePlaylist _Theme; private bool _ThemeLoaded; @@ -191,20 +191,21 @@ namespace Vocaluxe.Menu //private static - public CPlaylist(Basic Base) + public CPlaylist(Basic Base, int PartyModeID) { + _PartyModeID = PartyModeID; _Base = Base; _Theme = new SThemePlaylist(); - _Theme.Text1 = new CText(_Base); - _Theme.StaticCover = new CStatic(_Base); - _Theme.StaticPlaylistFooter = new CStatic(_Base); - _Theme.StaticPlaylistHeader = new CStatic(_Base); - _Theme.ButtonPlaylistName = new CButton(_Base); - _Theme.ButtonPlaylistClose = new CButton(_Base); - _Theme.ButtonPlaylistDelete = new CButton(_Base); - _Theme.ButtonPlaylistSave = new CButton(_Base); - _Theme.ButtonPlaylistSing = new CButton(_Base); - _Theme.SelectSlideGameMode = new CSelectSlide(_Base); + _Theme.Text1 = new CText(_Base, _PartyModeID); + _Theme.StaticCover = new CStatic(_Base, _PartyModeID); + _Theme.StaticPlaylistFooter = new CStatic(_Base, _PartyModeID); + _Theme.StaticPlaylistHeader = new CStatic(_Base, _PartyModeID); + _Theme.ButtonPlaylistName = new CButton(_Base, _PartyModeID); + _Theme.ButtonPlaylistClose = new CButton(_Base, _PartyModeID); + _Theme.ButtonPlaylistDelete = new CButton(_Base, _PartyModeID); + _Theme.ButtonPlaylistSave = new CButton(_Base, _PartyModeID); + _Theme.ButtonPlaylistSing = new CButton(_Base, _PartyModeID); + _Theme.SelectSlideGameMode = new CSelectSlide(_Base, _PartyModeID); CompleteRect = new SRectF(); Rect = new SRectF(); @@ -1121,7 +1122,7 @@ namespace Vocaluxe.Menu { PlaylistElement en = new PlaylistElement(_Base); - en.Background = new CStatic(_Base, _Theme.TextureBackgroundName, BackgroundColor, new SRectF(Rect.X, Rect.Y + (i * _Theme.EntryHeight), Rect.W, _Theme.EntryHeight, Rect.Z)); + en.Background = new CStatic(_Base, _PartyModeID, _Theme.TextureBackgroundName, BackgroundColor, new SRectF(Rect.X, Rect.Y + (i * _Theme.EntryHeight), Rect.W, _Theme.EntryHeight, Rect.Z)); en.Cover = new CStatic(_Theme.StaticCover); en.Cover.Rect.Y += Rect.Y + (i * _Theme.EntryHeight); diff --git a/VocaluxeLib/Menu/CSelectSlide.cs b/VocaluxeLib/Menu/CSelectSlide.cs index 6ee366da..397decbf 100644 --- a/VocaluxeLib/Menu/CSelectSlide.cs +++ b/VocaluxeLib/Menu/CSelectSlide.cs @@ -37,6 +37,7 @@ namespace Vocaluxe.Menu public class CSelectSlide : IMenuElement, ICloneable { + private int _PartyModeID; private Basic _Base; private SThemeSelectSlide _Theme; private bool _ThemeLoaded; @@ -140,8 +141,9 @@ namespace Vocaluxe.Menu } } - public CSelectSlide(Basic Base) + public CSelectSlide(Basic Base, int PartyModeID) { + _PartyModeID = PartyModeID; _Base = Base; _Theme = new SThemeSelectSlide(); _ThemeLoaded = false; @@ -170,6 +172,7 @@ namespace Vocaluxe.Menu public CSelectSlide(CSelectSlide slide) { + _PartyModeID = slide._PartyModeID; _Base = slide._Base; _Theme = new SThemeSelectSlide(); diff --git a/VocaluxeLib/Menu/CStatic.cs b/VocaluxeLib/Menu/CStatic.cs index c91f3200..80530701 100644 --- a/VocaluxeLib/Menu/CStatic.cs +++ b/VocaluxeLib/Menu/CStatic.cs @@ -16,6 +16,7 @@ namespace Vocaluxe.Menu public class CStatic : IMenuElement { + private int _PartyModeID; private Basic _Base; private SThemeStatic _Theme; @@ -54,8 +55,9 @@ namespace Vocaluxe.Menu public EAspect Aspect = EAspect.Stretch; - public CStatic(Basic Base) + public CStatic(Basic Base, int PartyModeID) { + _PartyModeID = PartyModeID; _Base = Base; _Theme = new SThemeStatic(); _ThemeLoaded = false; @@ -74,6 +76,7 @@ namespace Vocaluxe.Menu public CStatic(CStatic s) { + _PartyModeID = s._PartyModeID; _Base = s._Base; _Theme = new SThemeStatic(); _ThemeLoaded = false; @@ -90,8 +93,9 @@ namespace Vocaluxe.Menu Visible = s.Visible; } - public CStatic(Basic Base, STexture texture, SColorF color, SRectF rect) + public CStatic(Basic Base, int PartyModeID, STexture texture, SColorF color, SRectF rect) { + _PartyModeID = PartyModeID; _Base = Base; _Theme = new SThemeStatic(); _ThemeLoaded = false; @@ -108,8 +112,9 @@ namespace Vocaluxe.Menu Visible = true; } - public CStatic(Basic Base, string TextureSkinName, SColorF color, SRectF rect) + public CStatic(Basic Base, int PartyModeID, string TextureSkinName, SColorF color, SRectF rect) { + _PartyModeID = PartyModeID; _Base = Base; _Theme = new SThemeStatic(); _Theme.TextureName = TextureSkinName; diff --git a/VocaluxeLib/Menu/CText.cs b/VocaluxeLib/Menu/CText.cs index df263234..435014c7 100644 --- a/VocaluxeLib/Menu/CText.cs +++ b/VocaluxeLib/Menu/CText.cs @@ -231,13 +231,13 @@ namespace Vocaluxe.Menu public float Alpha = 1f; - public CText(Basic Base) + public CText(Basic Base, int PartyModeID) { _Base = Base; _Theme = new SThemeText(); _ThemeLoaded = false; _ButtonText = false; - _PartyModeID = -1; + _PartyModeID = PartyModeID; X = 0f; Y = 0f; @@ -695,7 +695,7 @@ namespace Vocaluxe.Menu public void Draw(float begin, float end) { - RectangleF bounds = _Base.Drawing.GetTextBounds(this); + RectangleF bounds = _Base.Fonts.GetTextBounds(this, this.Height); float x = X; switch (Align) @@ -755,7 +755,10 @@ namespace Vocaluxe.Menu float x = X + rx; float y = Y + ry; - RectangleF bounds = _Base.Drawing.GetTextBounds(this); + _Base.Fonts.SetFont(Fon); + _Base.Fonts.SetStyle(Style); + + RectangleF bounds = _Base.Fonts.GetTextBounds(this, this.Height); if (bounds.Width > Bounds.W && Bounds.W > 0f && bounds.Width > 0f) { @@ -801,7 +804,7 @@ namespace Vocaluxe.Menu _Base.Fonts.SetFont(Fon); _Base.Fonts.SetStyle(Style); - + if (!EditMode) _Base.Fonts.DrawText(_Text, h, x, y, Z, color); else diff --git a/VocaluxeLib/Menu/SingNotes/CSingNotes.cs b/VocaluxeLib/Menu/SingNotes/CSingNotes.cs index af27680c..379edc91 100644 --- a/VocaluxeLib/Menu/SingNotes/CSingNotes.cs +++ b/VocaluxeLib/Menu/SingNotes/CSingNotes.cs @@ -42,6 +42,7 @@ namespace Vocaluxe.Menu.SingNotes public abstract class CSingNotes : ISingNotes, IMenuElement { + protected int _PartyModeID; private Basic _Base; private SThemeSingBar _Theme; private bool _ThemeLoaded; @@ -63,8 +64,9 @@ namespace Vocaluxe.Menu.SingNotes set { _BarPos = value; } } - public CSingNotes(Basic Base) + public CSingNotes(Basic Base, int PartyModeID) { + _PartyModeID = PartyModeID; _Base = Base; _Theme = new SThemeSingBar(); _ThemeLoaded = false; @@ -618,7 +620,7 @@ namespace Vocaluxe.Menu.SingNotes ); int numstars = (int)(r.W * 0.25f); - CParticleEffect stars = new CParticleEffect(_Base, numstars, new SColorF(1f, 1f, 0f, 1f), r, _Theme.SkinGoldenStarName, 20, EParticeType.Star); + CParticleEffect stars = new CParticleEffect(_Base, _PartyModeID, numstars, new SColorF(1f, 1f, 0f, 1f), r, _Theme.SkinGoldenStarName, 20, EParticeType.Star); _PlayerNotes[n].GoldenStars.Add(stars); } } @@ -646,7 +648,7 @@ namespace Vocaluxe.Menu.SingNotes Rect.Z ); - CParticleEffect flares = new CParticleEffect(_Base, 15, new SColorF(1f, 1f, 1f, 1f), r, _Theme.SkinGoldenStarName, 20, EParticeType.Flare); + CParticleEffect flares = new CParticleEffect(_Base, _PartyModeID, 15, new SColorF(1f, 1f, 1f, 1f), r, _Theme.SkinGoldenStarName, 20, EParticeType.Flare); _PlayerNotes[n].Flares.Add(flares); } @@ -686,13 +688,13 @@ namespace Vocaluxe.Menu.SingNotes Rect.Z ); - CParticleEffect stars = new CParticleEffect(_Base, _Base.Game.GetRandom(2) + 1, new SColorF(1f, 1f, 1f, 1f), r, _Theme.SkinPerfectNoteStarName, 35, EParticeType.PerfNoteStar); + CParticleEffect stars = new CParticleEffect(_Base, _PartyModeID, _Base.Game.GetRandom(2) + 1, new SColorF(1f, 1f, 1f, 1f), r, _Theme.SkinPerfectNoteStarName, 35, EParticeType.PerfNoteStar); _PlayerNotes[n].PerfectNoteEffect.Add(stars); } private void AddPerfectLine(int n) { - CParticleEffect twinkle = new CParticleEffect(_Base, 200, _PlayerNotes[n].Color, _PlayerNotes[n].Rect, _Theme.SkinGoldenStarName, 25, EParticeType.Twinkle); + CParticleEffect twinkle = new CParticleEffect(_Base, _PartyModeID, 200, _PlayerNotes[n].Color, _PlayerNotes[n].Rect, _Theme.SkinGoldenStarName, 25, EParticeType.Twinkle); _PlayerNotes[n].PerfectLineTwinkle.Add(twinkle); } diff --git a/VocaluxeLib/Menu/SingNotes/CSingNotesClassic.cs b/VocaluxeLib/Menu/SingNotes/CSingNotesClassic.cs index 30325a69..c39dbc28 100644 --- a/VocaluxeLib/Menu/SingNotes/CSingNotesClassic.cs +++ b/VocaluxeLib/Menu/SingNotes/CSingNotesClassic.cs @@ -8,8 +8,8 @@ namespace Vocaluxe.Menu.SingNotes { private Basic _Base; - public CSingNotesClassic(Basic Base) - : base(Base) + public CSingNotesClassic(Basic Base, int PartyModeID) + : base(Base, PartyModeID) { _Base = Base; } diff --git a/VocaluxeLib/Menu/SongMenu/CSongMenu.cs b/VocaluxeLib/Menu/SongMenu/CSongMenu.cs index 72de0fd2..c720cf6f 100644 --- a/VocaluxeLib/Menu/SongMenu/CSongMenu.cs +++ b/VocaluxeLib/Menu/SongMenu/CSongMenu.cs @@ -11,13 +11,15 @@ namespace Vocaluxe.Menu.SongMenu { public class CSongMenu : ISongMenu { + private int _PartyModeID; private Basic _Base; private ISongMenu _SongMenu; private ESongMenu _Type; - public CSongMenu(Basic Base) + public CSongMenu(Basic Base, int PartyModeID) { + _PartyModeID = PartyModeID; _Base = Base; CreateSongMenu(); } @@ -218,7 +220,7 @@ namespace Vocaluxe.Menu.SongMenu // break; case ESongMenu.TR_CONFIG_TILE_BOARD: - _SongMenu = new CSongMenuTileBoard(_Base); + _SongMenu = new CSongMenuTileBoard(_Base, _PartyModeID); break; //case ESongMenu.TR_CONFIG_BOOK: diff --git a/VocaluxeLib/Menu/SongMenu/CSongMenuBook.cs b/VocaluxeLib/Menu/SongMenu/CSongMenuBook.cs index a6374821..929217a8 100644 --- a/VocaluxeLib/Menu/SongMenu/CSongMenuBook.cs +++ b/VocaluxeLib/Menu/SongMenu/CSongMenuBook.cs @@ -8,8 +8,8 @@ namespace Vocaluxe.Menu.SongMenu { new private Basic _Base; - public CSongMenuBook(Basic Base) - : base(Base) + public CSongMenuBook(Basic Base, int PartyModeID) + : base(Base, PartyModeID) { _Base = Base; } diff --git a/VocaluxeLib/Menu/SongMenu/CSongMenuDreidel.cs b/VocaluxeLib/Menu/SongMenu/CSongMenuDreidel.cs index c502ed3a..392eabaf 100644 --- a/VocaluxeLib/Menu/SongMenu/CSongMenuDreidel.cs +++ b/VocaluxeLib/Menu/SongMenu/CSongMenuDreidel.cs @@ -29,8 +29,8 @@ namespace Vocaluxe.Menu.SongMenu } */ - public CSongMenuDreidel(Basic Base) - : base(Base) + public CSongMenuDreidel(Basic Base, int PartyModeID) + : base(Base, PartyModeID) { _Base = Base; } diff --git a/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs b/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs index 1cd2f753..7b7f9de3 100644 --- a/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs +++ b/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs @@ -91,6 +91,7 @@ namespace Vocaluxe.Menu.SongMenu abstract class CSongMenuFramework : ISongMenu { + protected int _PartyModeID; protected Basic _Base; protected SThemeSongMenu _Theme; private bool _ThemeLoaded; @@ -233,21 +234,22 @@ namespace Vocaluxe.Menu.SongMenu _Visible = Visible; } - public CSongMenuFramework(Basic Base) + public CSongMenuFramework(Basic Base, int PartyModeID) { + _PartyModeID = PartyModeID; _Base = Base; _Theme = new SThemeSongMenu(); - _Theme.songMenuTileBoard.TextArtist = new CText(_Base); - _Theme.songMenuTileBoard.TextTitle = new CText(_Base); - _Theme.songMenuTileBoard.TextSongLength = new CText(_Base); + _Theme.songMenuTileBoard.TextArtist = new CText(_Base, _PartyModeID); + _Theme.songMenuTileBoard.TextTitle = new CText(_Base, _PartyModeID); + _Theme.songMenuTileBoard.TextSongLength = new CText(_Base, _PartyModeID); - _Theme.songMenuTileBoard.StaticCoverBig = new CStatic(_Base); - _Theme.songMenuTileBoard.StaticTextBG = new CStatic(_Base); - _Theme.songMenuTileBoard.StaticDuetIcon = new CStatic(_Base); - _Theme.songMenuTileBoard.StaticVideoIcon = new CStatic(_Base); - _Theme.songMenuTileBoard.StaticMedleyCalcIcon = new CStatic(_Base); - _Theme.songMenuTileBoard.StaticMedleyTagIcon = new CStatic(_Base); + _Theme.songMenuTileBoard.StaticCoverBig = new CStatic(_Base, _PartyModeID); + _Theme.songMenuTileBoard.StaticTextBG = new CStatic(_Base, _PartyModeID); + _Theme.songMenuTileBoard.StaticDuetIcon = new CStatic(_Base, _PartyModeID); + _Theme.songMenuTileBoard.StaticVideoIcon = new CStatic(_Base, _PartyModeID); + _Theme.songMenuTileBoard.StaticMedleyCalcIcon = new CStatic(_Base, _PartyModeID); + _Theme.songMenuTileBoard.StaticMedleyTagIcon = new CStatic(_Base, _PartyModeID); _ThemeLoaded = false; } @@ -540,7 +542,7 @@ namespace Vocaluxe.Menu.SongMenu public virtual CStatic GetSelectedSongCover() { - return new CStatic(_Base); + return new CStatic(_Base, _PartyModeID); } public virtual int GetSelectedCategory() diff --git a/VocaluxeLib/Menu/SongMenu/CSongMenuList.cs b/VocaluxeLib/Menu/SongMenu/CSongMenuList.cs index 6b57143b..cb38b70b 100644 --- a/VocaluxeLib/Menu/SongMenu/CSongMenuList.cs +++ b/VocaluxeLib/Menu/SongMenu/CSongMenuList.cs @@ -8,8 +8,8 @@ namespace Vocaluxe.Menu.SongMenu { new private Basic _Base; - public CSongMenuList(Basic Base) - : base(Base) + public CSongMenuList(Basic Base, int PartyModeID) + : base(Base, PartyModeID) { _Base = Base; } diff --git a/VocaluxeLib/Menu/SongMenu/CSongMenuTileBoard.cs b/VocaluxeLib/Menu/SongMenu/CSongMenuTileBoard.cs index 38be1ed3..4a32720f 100644 --- a/VocaluxeLib/Menu/SongMenu/CSongMenuTileBoard.cs +++ b/VocaluxeLib/Menu/SongMenu/CSongMenuTileBoard.cs @@ -42,8 +42,8 @@ namespace Vocaluxe.Menu.SongMenu private bool _SmallView = false; - public CSongMenuTileBoard(Basic Base) - : base(Base) + public CSongMenuTileBoard(Basic Base, int PartyModeID) + : base(Base, PartyModeID) { _Base = Base; } @@ -79,7 +79,7 @@ namespace Vocaluxe.Menu.SongMenu { SRectF rect = new SRectF(_Theme.songMenuTileBoard.TileRect.X + j * (_TileW + _SpaceW), _Theme.songMenuTileBoard.TileRect.Y + i * (_TileH + _SpaceH), _TileW, _TileH, _Rect.Z); - CStatic tile = new CStatic(_Base, _CoverTexture, Color, rect); + CStatic tile = new CStatic(_Base, _PartyModeID, _CoverTexture, Color, rect); _Tiles.Add(tile); } } @@ -523,7 +523,7 @@ namespace Vocaluxe.Menu.SongMenu if (tile.Selected) return new CStatic(tile); } - return new CStatic(_Base); + return new CStatic(_Base, _PartyModeID); } public override void SetSelectedSong(int VisibleSongNr) @@ -776,7 +776,7 @@ namespace Vocaluxe.Menu.SongMenu { SRectF rect = new SRectF(_Theme.songMenuTileBoard.TileRectSmall.X + j * (_TileW + _SpaceW), _Theme.songMenuTileBoard.TileRectSmall.Y + i * (_TileH + _SpaceH), _TileW, _TileH, _Rect.Z); - CStatic tile = new CStatic(_Base, _CoverTexture, Color, rect); + CStatic tile = new CStatic(_Base, _PartyModeID, _CoverTexture, Color, rect); _Tiles.Add(tile); } } @@ -802,7 +802,7 @@ namespace Vocaluxe.Menu.SongMenu { SRectF rect = new SRectF(_Theme.songMenuTileBoard.TileRect.X + j * (_TileW + _SpaceW), _Theme.songMenuTileBoard.TileRect.Y + i * (_TileH + _SpaceH), _TileW, _TileH, _Rect.Z); - CStatic tile = new CStatic(_Base, _CoverTexture, Color, rect); + CStatic tile = new CStatic(_Base, _PartyModeID, _CoverTexture, Color, rect); _Tiles.Add(tile); } }