From 2996c1e1fcee695efe70036c8ffd8f60b2570292 Mon Sep 17 00:00:00 2001 From: Florian Kuepper Date: Sun, 16 Dec 2012 12:50:05 +0100 Subject: [PATCH] Some work on challenge-names. --- .../Code/PartyScreenChallengeNames.cs | 247 +++++++++--------- .../Screens/PartyScreenChallengeNames.xml | 45 +--- .../PartyScreenChallengeNames.cs | 200 ++++++-------- 3 files changed, 203 insertions(+), 289 deletions(-) diff --git a/Output/PartyModes/Challenge/Code/PartyScreenChallengeNames.cs b/Output/PartyModes/Challenge/Code/PartyScreenChallengeNames.cs index 1c525512..af6c4718 100644 --- a/Output/PartyModes/Challenge/Code/PartyScreenChallengeNames.cs +++ b/Output/PartyModes/Challenge/Code/PartyScreenChallengeNames.cs @@ -14,10 +14,28 @@ namespace Vocaluxe.PartyModes const string ButtonNext = "ButtonNext"; const string ButtonBack = "ButtonBack"; - const string NameSelection = "NameSelection"; + const string ButtonPlayerDestination = "ButtonPlayerDestination"; + const string ButtonPlayerChoose = "ButtonPlayerChoose"; + + private List PlayerChooseButtons; + private List PlayerDestinationButtons; + //PlayerDestinationButtons-Option + private const int PlayerDestinationButtonsNumH = 3; + private const int PlayerDestinationButtonsNumW = 4; + private const int PlayerDestinationButtonsFirstX = 900; + private const int PlayerDestinationButtonsFirstY = 105; + private const int PlayerDestinationButtonsSpaceH = 15; + private const int PlayerDestinationButtonsSpaceW = 25; + //PlayerChooseButtons-Option + private const int PlayerChooseButtonsNumH = 7; + private const int PlayerChooseButtonsNumW = 4; + private const int PlayerChooseButtonsFirstX = 52; + private const int PlayerChooseButtonsFirstY = 105; + private const int PlayerChooseButtonsSpaceH = 15; + private const int PlayerChooseButtonsSpaceW = 25; + private int PlayerChooseButtonsOffset = 0; private CStatic chooseAvatarStatic; - private List PlayerButtons; private bool SelectingMouseActive = false; private bool SelectingKeyboardActive = false; private bool SelectingKeyboardUnendless = false; @@ -33,6 +51,12 @@ namespace Vocaluxe.PartyModes private DataFromScreen Data; + private class CPlayerChooseButton + { + public CButton Button; + public int ProfileID; + } + public PartyScreenChallengeNames() { } @@ -44,19 +68,9 @@ namespace Vocaluxe.PartyModes chooseAvatarStatic = GetNewStatic(); chooseAvatarStatic.Visible = false; - PlayerButtons = new List(); - for (int i = 1; i <= _PartyMode.GetMaxPlayer(); i++) - { - PlayerButtons.Add("ButtonPlayer" + i); - } - _ThemeName = "PartyScreenChallengeNames"; List buttons = new List(); - buttons.Add(ButtonNext); - buttons.Add(ButtonBack); - buttons.AddRange(PlayerButtons); - _ThemeButtons = buttons.ToArray(); - _ThemeNameSelections = new string[] { NameSelection }; + _ThemeButtons = new string[] { ButtonBack, ButtonNext, ButtonPlayerDestination, ButtonPlayerChoose }; _ScreenVersion = ScreenVersion; Data = new DataFromScreen(); @@ -70,67 +84,63 @@ namespace Vocaluxe.PartyModes public override void LoadTheme(string XmlPath) { base.LoadTheme(XmlPath); + AddButtonPlayerDestination(); + AddButtonPlayerChoose(); + } + + private void AddButtonPlayerDestination() + { + Buttons[htButtons(ButtonPlayerDestination)].Visible = false; + PlayerDestinationButtons = new List(); + int row = 0; + int column = 0; + for (int i = 1; i <= _PartyMode.GetMaxPlayer(); i++) + { + CButton b = GetNewButton(Buttons[htButtons(ButtonPlayerDestination)]); + b.Rect.X = PlayerDestinationButtonsFirstX + column * (b.Rect.W + PlayerDestinationButtonsSpaceH); + b.Rect.Y = PlayerDestinationButtonsFirstY + row * (b.Rect.H + PlayerDestinationButtonsSpaceW); + PlayerDestinationButtons.Add(b); + column++; + if (column >= PlayerDestinationButtonsNumH) + { + row++; + column = 0; + } + b.Visible = true; + AddButton(b); + } + } + + private void AddButtonPlayerChoose() + { + Buttons[htButtons(ButtonPlayerChoose)].Visible = false; + PlayerChooseButtons = new List(); + int row = 0; + int column = 0; + for (int i = 1; i <= PlayerChooseButtonsNumH*PlayerChooseButtonsNumW; i++) + { + CButton b = GetNewButton(Buttons[htButtons(ButtonPlayerChoose)]); + b.Rect.X = PlayerChooseButtonsFirstX + column * (b.Rect.W + PlayerChooseButtonsSpaceH); + b.Rect.Y = PlayerChooseButtonsFirstY + row * (b.Rect.H + PlayerChooseButtonsSpaceW); + CPlayerChooseButton pcb = new CPlayerChooseButton(); + pcb.Button = b; + pcb.ProfileID = -1; + PlayerChooseButtons.Add(pcb); + column++; + if (column >= PlayerChooseButtonsNumH) + { + row++; + column = 0; + } + b.Visible = true; + AddButton(b); + } } public override bool HandleInput(KeyEvent KeyEvent) { base.HandleInput(KeyEvent); - /** - //Check if selecting with keyboard is active - if (SelectingKeyboardActive) - { - //Handle left/right/up/down - //TODO: Fix NameSelection for PartyMode - NameSelections[htNameSelections(NameSelection)].HandleInput(KeyEvent); - switch (KeyEvent.Key) - { - case Keys.Enter: - //Check, if a player is selected - if (NameSelections[htNameSelections(NameSelection)].Selection > -1) - { - SelectedPlayerNr = NameSelections[htNameSelections(NameSelection)].Selection; - //TODO: Update texture and name - //Buttons[htButtons(PlayerButtons[i])]. = chooseAvatarStatic.Texture; - //Buttons[htButtons(PlayerButtons[i])].Text.Text = CProfiles.Profiles[SelectedPlayerNr].PlayerName; - //Add Player-ID to list. - ProfileIDs[SelectingKeyboardPlayerNr] = SelectedPlayerNr; - UpdateNextButton(); - //Update Tiles-List - NameSelections[htNameSelections(NameSelection)].UpdateList(); - if(PlayerButtons.Count > SelectingKeyboardPlayerNr) - SetInteractionToButton(Buttons[htButtons(PlayerButtons[SelectingKeyboardPlayerNr + 1])]); - } - //Started selecting with 'P' - if (SelectingKeyboardUnendless) - { - if (SelectingKeyboardPlayerNr == NumPlayers) - { - //Reset all values - SelectingKeyboardPlayerNr = 0; - SelectingKeyboardActive = false; - NameSelections[htNameSelections(NameSelection)].KeyboardSelection(false, -1); - } - else - { - SelectingKeyboardPlayerNr++; - NameSelections[htNameSelections(NameSelection)].KeyboardSelection(true, SelectingKeyboardPlayerNr); - } - } - else - { - //Reset all values - SelectingKeyboardPlayerNr = 0; - SelectingKeyboardActive = false; - NameSelections[htNameSelections(NameSelection)].KeyboardSelection(false, -1); - } - break; - } - - else - { - **/ - if (KeyEvent.KeyPressed) { @@ -151,36 +161,22 @@ namespace Vocaluxe.PartyModes if (Buttons[htButtons(ButtonNext)].Selected) Next(); - for (int i = 0; i < PlayerButtons.Count; i++) + for (int i = 0; i < PlayerDestinationButtons.Count; i++) { - if (Buttons[htButtons(PlayerButtons[i])].Selected) + if (PlayerDestinationButtons[i].Selected) + { + } + } + + for (int i = 0; i < PlayerChooseButtons.Count; i++) + { + if (PlayerChooseButtons[i].Button.Selected) { - //KeyboardSelectPlayerNr = i; - //selectingKeyboardActive = true; - //NameSelections[htNameSelections(NameSelection)].KeyboardSelection(true, i); } } break; - /** - case Keys.P: - if (!SelectingKeyboardActive) - { - SelectingKeyboardPlayerNr = 1; - SelectingKeyboardUnendless = true; - } - else - { - if (SelectingKeyboardPlayerNr + 1 <= NumPlayers) - SelectingKeyboardPlayerNr++; - else - SelectingKeyboardPlayerNr = 1; - NameSelections[htNameSelections(NameSelection)].KeyboardSelection(true, SelectingKeyboardPlayerNr); - } - break; - **/ } } - //} return true; } @@ -195,24 +191,22 @@ namespace Vocaluxe.PartyModes OldMouseX = MouseEvent.X; OldMouseY = MouseEvent.Y; //Check if mouse if over tile - if (NameSelections[htNameSelections(NameSelection)].isOverTile(MouseEvent)) + for (int i = 0; i < PlayerChooseButtons.Count; i++) { - //Get player-number of tile - SelectedPlayerNr = NameSelections[htNameSelections(NameSelection)].TilePlayerNr(MouseEvent); - if (SelectedPlayerNr != -1) + if (PlayerChooseButtons[i].Button.Selected) { - //Activate mouse-selecting - SelectingMouseActive = true; - - //Update of Drag/Drop-Texture - CStatic SelectedPlayer = NameSelections[htNameSelections(NameSelection)].TilePlayerAvatar(MouseEvent); - chooseAvatarStatic.Visible = true; - chooseAvatarStatic.Rect = SelectedPlayer.Rect; - //TODO: Get nearest z-value! - //chooseAvatarStatic.Rect.Z = CSettings.zNear; - chooseAvatarStatic.Rect.Z = -100; - chooseAvatarStatic.Color = new SColorF(1, 1, 1, 1); - chooseAvatarStatic.Texture = SelectedPlayer.Texture; + SelectedPlayerNr = PlayerChooseButtons[i].ProfileID; + if (SelectedPlayerNr != -1) + { + //Activate mouse-selecting + SelectingMouseActive = true; + //Update of Drag/Drop-Texture + chooseAvatarStatic.Visible = true; + chooseAvatarStatic.Rect = PlayerChooseButtons[SelectedPlayerNr].Button.Rect; + chooseAvatarStatic.Rect.Z = -100; + chooseAvatarStatic.Color = new SColorF(1, 1, 1, 1); + chooseAvatarStatic.Texture = _Base.Profiles.GetProfiles()[SelectedPlayerNr].Avatar.Texture; + } } } } @@ -233,23 +227,22 @@ namespace Vocaluxe.PartyModes if (SelectedPlayerNr != -1) { //Foreach Drop-Area - for (int i = 0; i < PlayerButtons.Count; i++) + for (int i = 0; i < PlayerDestinationButtons.Count; i++) { //Check first, if area is "active" - if (Buttons[htButtons(PlayerButtons[i])].Visible == true) + if (PlayerDestinationButtons[i].Visible == true) { //Check if Mouse is in area - if (CHelper.IsInBounds(Buttons[htButtons(PlayerButtons[i])].Rect, MouseEvent)) + if (CHelper.IsInBounds(PlayerDestinationButtons[i].Rect, MouseEvent)) { //Add Player-ID to list. ProfileIDs[i] = SelectedPlayerNr; - UpdateNextButton(); + UpdateButtonNext(); //TODO: Update texture and name //Buttons[htButtons(PlayerButtons[i])]. = chooseAvatarStatic.Texture; - //Buttons[htButtons(PlayerButtons[i])].Text.Text = CProfiles.Profiles[SelectedPlayerNr].PlayerName; - Buttons[htButtons(PlayerButtons[i])].Text.Text = "Gesetzt"; + PlayerDestinationButtons[i].Text.Text = _Base.Profiles.GetProfiles()[SelectedPlayerNr].PlayerName; //Update Tiles-List - NameSelections[htNameSelections(NameSelection)].UpdateList(); + } } } @@ -285,18 +278,18 @@ namespace Vocaluxe.PartyModes for (int i = 0; i < ProfileIDs.Length; i++ ) ProfileIDs[i] = -1; - for (int i = 1; i <= PlayerButtons.Count; i++) + for (int i = 0; i < PlayerDestinationButtons.Count; i++) { - Buttons[htButtons("ButtonPlayer" + i)].Text.Text = "Player " + i; + PlayerDestinationButtons[i].Text.Text = "Player " + i; if (i <= NumPlayers) - Buttons[htButtons("ButtonPlayer" + i)].Visible = true; + PlayerDestinationButtons[i].Visible = true; else - Buttons[htButtons("ButtonPlayer" + i)].Visible = false; + PlayerDestinationButtons[i].Visible = false; } - NameSelections[htNameSelections(NameSelection)].Init(); + UpdateButtonPlayerChoose(); - UpdateNextButton(); + UpdateButtonNext(); } public override bool UpdateGame() @@ -324,7 +317,19 @@ namespace Vocaluxe.PartyModes _PartyMode.DataFromScreen(_ThemeName, Data); } - private void UpdateNextButton() + private void UpdateButtonPlayerChoose() + { + for (int i = (PlayerChooseButtonsOffset * PlayerChooseButtonsNumW); i < _Base.Profiles.GetProfiles().Length; i++) + { + if (i < PlayerChooseButtons.Count) + { + PlayerChooseButtons[i].ProfileID = i; + PlayerChooseButtons[i].Button.Text.Text = _Base.Profiles.GetProfiles()[i].PlayerName; + } + } + } + + private void UpdateButtonNext() { Buttons[htButtons(ButtonNext)].Visible = true; for (int i = 0; i < ProfileIDs.Length; i++) diff --git a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml index 9f3b5636..9d033c03 100644 --- a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml +++ b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml @@ -221,7 +221,7 @@ - + CoverTile @@ -270,48 +270,5 @@ - - - 52 - 105 - 0,00 - 805 - 393 - - CoverTile - - - 1,00 - 1,00 - 1,00 - 0,20 - - PlayerSelector - - - - 100 - 100 - - 7 - 4 - - 15,00 - 25,00 - - - - 2,0 - - Outline - - TextColor - - - - 20 - - - diff --git a/PartyModeChallenge/PartyScreenChallengeNames.cs b/PartyModeChallenge/PartyScreenChallengeNames.cs index 454fee54..af6c4718 100644 --- a/PartyModeChallenge/PartyScreenChallengeNames.cs +++ b/PartyModeChallenge/PartyScreenChallengeNames.cs @@ -15,9 +15,9 @@ namespace Vocaluxe.PartyModes const string ButtonNext = "ButtonNext"; const string ButtonBack = "ButtonBack"; const string ButtonPlayerDestination = "ButtonPlayerDestination"; - const string NameSelection = "NameSelection"; + const string ButtonPlayerChoose = "ButtonPlayerChoose"; - private List PlayerChooseButtons; + private List PlayerChooseButtons; private List PlayerDestinationButtons; //PlayerDestinationButtons-Option private const int PlayerDestinationButtonsNumH = 3; @@ -27,12 +27,13 @@ namespace Vocaluxe.PartyModes private const int PlayerDestinationButtonsSpaceH = 15; private const int PlayerDestinationButtonsSpaceW = 25; //PlayerChooseButtons-Option - private const int PlayerChooseButtonsNumH = 3; + private const int PlayerChooseButtonsNumH = 7; private const int PlayerChooseButtonsNumW = 4; - private const int PlayerChooseButtonsFirstX = 900; + private const int PlayerChooseButtonsFirstX = 52; private const int PlayerChooseButtonsFirstY = 105; private const int PlayerChooseButtonsSpaceH = 15; private const int PlayerChooseButtonsSpaceW = 25; + private int PlayerChooseButtonsOffset = 0; private CStatic chooseAvatarStatic; private bool SelectingMouseActive = false; @@ -50,6 +51,12 @@ namespace Vocaluxe.PartyModes private DataFromScreen Data; + private class CPlayerChooseButton + { + public CButton Button; + public int ProfileID; + } + public PartyScreenChallengeNames() { } @@ -61,12 +68,9 @@ namespace Vocaluxe.PartyModes chooseAvatarStatic = GetNewStatic(); chooseAvatarStatic.Visible = false; - PlayerChooseButtons = new List(); - _ThemeName = "PartyScreenChallengeNames"; List buttons = new List(); - _ThemeButtons = new string[] { ButtonBack, ButtonNext, ButtonPlayerDestination }; - _ThemeNameSelections = new string[] { NameSelection }; + _ThemeButtons = new string[] { ButtonBack, ButtonNext, ButtonPlayerDestination, ButtonPlayerChoose }; _ScreenVersion = ScreenVersion; Data = new DataFromScreen(); @@ -80,46 +84,55 @@ namespace Vocaluxe.PartyModes public override void LoadTheme(string XmlPath) { base.LoadTheme(XmlPath); + AddButtonPlayerDestination(); + AddButtonPlayerChoose(); } private void AddButtonPlayerDestination() { + Buttons[htButtons(ButtonPlayerDestination)].Visible = false; PlayerDestinationButtons = new List(); - int row = 1; - int column = 1; + int row = 0; + int column = 0; for (int i = 1; i <= _PartyMode.GetMaxPlayer(); i++) { - CButton b = GetNewButton(); + CButton b = GetNewButton(Buttons[htButtons(ButtonPlayerDestination)]); b.Rect.X = PlayerDestinationButtonsFirstX + column * (b.Rect.W + PlayerDestinationButtonsSpaceH); b.Rect.Y = PlayerDestinationButtonsFirstY + row * (b.Rect.H + PlayerDestinationButtonsSpaceW); PlayerDestinationButtons.Add(b); column++; - if (column > PlayerDestinationButtonsNumH) + if (column >= PlayerDestinationButtonsNumH) { row++; - column = 1; + column = 0; } + b.Visible = true; AddButton(b); } } private void AddButtonPlayerChoose() { - PlayerChooseButtons = new List(); - int row = 1; - int column = 1; + Buttons[htButtons(ButtonPlayerChoose)].Visible = false; + PlayerChooseButtons = new List(); + int row = 0; + int column = 0; for (int i = 1; i <= PlayerChooseButtonsNumH*PlayerChooseButtonsNumW; i++) { - CButton b = GetNewButton(); + CButton b = GetNewButton(Buttons[htButtons(ButtonPlayerChoose)]); b.Rect.X = PlayerChooseButtonsFirstX + column * (b.Rect.W + PlayerChooseButtonsSpaceH); b.Rect.Y = PlayerChooseButtonsFirstY + row * (b.Rect.H + PlayerChooseButtonsSpaceW); - PlayerChooseButtons.Add(b); + CPlayerChooseButton pcb = new CPlayerChooseButton(); + pcb.Button = b; + pcb.ProfileID = -1; + PlayerChooseButtons.Add(pcb); column++; - if (column > PlayerChooseButtonsNumH) + if (column >= PlayerChooseButtonsNumH) { row++; - column = 1; + column = 0; } + b.Visible = true; AddButton(b); } } @@ -128,61 +141,6 @@ namespace Vocaluxe.PartyModes { base.HandleInput(KeyEvent); - /** - //Check if selecting with keyboard is active - if (SelectingKeyboardActive) - { - //Handle left/right/up/down - //TODO: Fix NameSelection for PartyMode - NameSelections[htNameSelections(NameSelection)].HandleInput(KeyEvent); - switch (KeyEvent.Key) - { - case Keys.Enter: - //Check, if a player is selected - if (NameSelections[htNameSelections(NameSelection)].Selection > -1) - { - SelectedPlayerNr = NameSelections[htNameSelections(NameSelection)].Selection; - //TODO: Update texture and name - //Buttons[htButtons(PlayerButtons[i])]. = chooseAvatarStatic.Texture; - //Buttons[htButtons(PlayerButtons[i])].Text.Text = CProfiles.Profiles[SelectedPlayerNr].PlayerName; - //Add Player-ID to list. - ProfileIDs[SelectingKeyboardPlayerNr] = SelectedPlayerNr; - UpdateNextButton(); - //Update Tiles-List - NameSelections[htNameSelections(NameSelection)].UpdateList(); - if(PlayerButtons.Count > SelectingKeyboardPlayerNr) - SetInteractionToButton(Buttons[htButtons(PlayerButtons[SelectingKeyboardPlayerNr + 1])]); - } - //Started selecting with 'P' - if (SelectingKeyboardUnendless) - { - if (SelectingKeyboardPlayerNr == NumPlayers) - { - //Reset all values - SelectingKeyboardPlayerNr = 0; - SelectingKeyboardActive = false; - NameSelections[htNameSelections(NameSelection)].KeyboardSelection(false, -1); - } - else - { - SelectingKeyboardPlayerNr++; - NameSelections[htNameSelections(NameSelection)].KeyboardSelection(true, SelectingKeyboardPlayerNr); - } - } - else - { - //Reset all values - SelectingKeyboardPlayerNr = 0; - SelectingKeyboardActive = false; - NameSelections[htNameSelections(NameSelection)].KeyboardSelection(false, -1); - } - break; - } - - else - { - **/ - if (KeyEvent.KeyPressed) { @@ -207,32 +165,18 @@ namespace Vocaluxe.PartyModes { if (PlayerDestinationButtons[i].Selected) { - //KeyboardSelectPlayerNr = i; - //selectingKeyboardActive = true; - //NameSelections[htNameSelections(NameSelection)].KeyboardSelection(true, i); + } + } + + for (int i = 0; i < PlayerChooseButtons.Count; i++) + { + if (PlayerChooseButtons[i].Button.Selected) + { } } break; - /** - case Keys.P: - if (!SelectingKeyboardActive) - { - SelectingKeyboardPlayerNr = 1; - SelectingKeyboardUnendless = true; - } - else - { - if (SelectingKeyboardPlayerNr + 1 <= NumPlayers) - SelectingKeyboardPlayerNr++; - else - SelectingKeyboardPlayerNr = 1; - NameSelections[htNameSelections(NameSelection)].KeyboardSelection(true, SelectingKeyboardPlayerNr); - } - break; - **/ } } - //} return true; } @@ -247,24 +191,22 @@ namespace Vocaluxe.PartyModes OldMouseX = MouseEvent.X; OldMouseY = MouseEvent.Y; //Check if mouse if over tile - if (NameSelections[htNameSelections(NameSelection)].isOverTile(MouseEvent)) + for (int i = 0; i < PlayerChooseButtons.Count; i++) { - //Get player-number of tile - SelectedPlayerNr = NameSelections[htNameSelections(NameSelection)].TilePlayerNr(MouseEvent); - if (SelectedPlayerNr != -1) + if (PlayerChooseButtons[i].Button.Selected) { - //Activate mouse-selecting - SelectingMouseActive = true; - - //Update of Drag/Drop-Texture - CStatic SelectedPlayer = NameSelections[htNameSelections(NameSelection)].TilePlayerAvatar(MouseEvent); - chooseAvatarStatic.Visible = true; - chooseAvatarStatic.Rect = SelectedPlayer.Rect; - //TODO: Get nearest z-value! - //chooseAvatarStatic.Rect.Z = CSettings.zNear; - chooseAvatarStatic.Rect.Z = -100; - chooseAvatarStatic.Color = new SColorF(1, 1, 1, 1); - chooseAvatarStatic.Texture = SelectedPlayer.Texture; + SelectedPlayerNr = PlayerChooseButtons[i].ProfileID; + if (SelectedPlayerNr != -1) + { + //Activate mouse-selecting + SelectingMouseActive = true; + //Update of Drag/Drop-Texture + chooseAvatarStatic.Visible = true; + chooseAvatarStatic.Rect = PlayerChooseButtons[SelectedPlayerNr].Button.Rect; + chooseAvatarStatic.Rect.Z = -100; + chooseAvatarStatic.Color = new SColorF(1, 1, 1, 1); + chooseAvatarStatic.Texture = _Base.Profiles.GetProfiles()[SelectedPlayerNr].Avatar.Texture; + } } } } @@ -295,14 +237,12 @@ namespace Vocaluxe.PartyModes { //Add Player-ID to list. ProfileIDs[i] = SelectedPlayerNr; - UpdateNextButton(); + UpdateButtonNext(); //TODO: Update texture and name //Buttons[htButtons(PlayerButtons[i])]. = chooseAvatarStatic.Texture; - //Buttons[htButtons(PlayerButtons[i])].Text.Text = CProfiles.Profiles[SelectedPlayerNr].PlayerName; - //TODO: Just for testing, remove. - PlayerDestinationButtons[i].Text.Text = "Gesetzt"; + PlayerDestinationButtons[i].Text.Text = _Base.Profiles.GetProfiles()[SelectedPlayerNr].PlayerName; //Update Tiles-List - NameSelections[htNameSelections(NameSelection)].UpdateList(); + } } } @@ -338,18 +278,18 @@ namespace Vocaluxe.PartyModes for (int i = 0; i < ProfileIDs.Length; i++ ) ProfileIDs[i] = -1; - for (int i = 1; i <= PlayerDestinationButtons.Count; i++) + for (int i = 0; i < PlayerDestinationButtons.Count; i++) { - Buttons[htButtons("ButtonPlayer" + i)].Text.Text = "Player " + i; + PlayerDestinationButtons[i].Text.Text = "Player " + i; if (i <= NumPlayers) - Buttons[htButtons("ButtonPlayer" + i)].Visible = true; + PlayerDestinationButtons[i].Visible = true; else - Buttons[htButtons("ButtonPlayer" + i)].Visible = false; + PlayerDestinationButtons[i].Visible = false; } - NameSelections[htNameSelections(NameSelection)].Init(); + UpdateButtonPlayerChoose(); - UpdateNextButton(); + UpdateButtonNext(); } public override bool UpdateGame() @@ -377,7 +317,19 @@ namespace Vocaluxe.PartyModes _PartyMode.DataFromScreen(_ThemeName, Data); } - private void UpdateNextButton() + private void UpdateButtonPlayerChoose() + { + for (int i = (PlayerChooseButtonsOffset * PlayerChooseButtonsNumW); i < _Base.Profiles.GetProfiles().Length; i++) + { + if (i < PlayerChooseButtons.Count) + { + PlayerChooseButtons[i].ProfileID = i; + PlayerChooseButtons[i].Button.Text.Text = _Base.Profiles.GetProfiles()[i].PlayerName; + } + } + } + + private void UpdateButtonNext() { Buttons[htButtons(ButtonNext)].Visible = true; for (int i = 0; i < ProfileIDs.Length; i++)