From e32320ffcae0e2c9f022b0534de1fbb8180226eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20K=C3=BCpper?= Date: Fri, 20 Dec 2013 16:56:52 +0100 Subject: [PATCH] PartyNames: Added visual feedback for max-player-num. --- VocaluxeLib/Menu/CMenuPartyNameSelection.cs | 38 +++++++++++++-------- VocaluxeLib/Menu/CNameSelection.cs | 4 +++ 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/VocaluxeLib/Menu/CMenuPartyNameSelection.cs b/VocaluxeLib/Menu/CMenuPartyNameSelection.cs index 569b3cee..a54bb5a9 100644 --- a/VocaluxeLib/Menu/CMenuPartyNameSelection.cs +++ b/VocaluxeLib/Menu/CMenuPartyNameSelection.cs @@ -180,7 +180,7 @@ namespace VocaluxeLib.Menu case Keys.Left: case Keys.Right: if (_SelectSlides[_SelectSlideTeams].Selected) - _ChangeTeamSlide(); + _OnChangeTeamSlide(); break; case Keys.P: @@ -289,7 +289,7 @@ namespace VocaluxeLib.Menu Next(); if (_SelectSlides[_SelectSlideTeams].Selected) - _ChangeTeamSlide(); + _OnChangeTeamSlide(); //Update Tiles-List _NameSelections[_NameSelection].UpdateList(); @@ -421,7 +421,7 @@ namespace VocaluxeLib.Menu _NameSelections[_NameSelection].UpdateList(); _UpdateSlides(); - _ChangeTeamSlide(); + _OnChangeTeamSlide(); _ProfilesChanged = false; _AvatarsChanged = false; @@ -429,14 +429,11 @@ namespace VocaluxeLib.Menu private void _UpdateSlides() { - _SelectSlides[_SelectSlideTeams].Clear(); - for (int i = 1; i <= _NumTeams; i++) - _SelectSlides[_SelectSlideTeams].AddValue("Team " + i); - - _SelectSlides[_SelectSlidePlayer].Clear(); + _UpdateTeamSlide(); + _UpdatePlayerSlide(); } - private void _ChangeTeamSlide() + private void _OnChangeTeamSlide() { if (_CurrentTeam == _SelectSlides[_SelectSlideTeams].Selection) return; @@ -447,6 +444,7 @@ namespace VocaluxeLib.Menu private void _UpdatePlayerSlide() { + int selection = _SelectSlides[_SelectSlidePlayer].Selection; _SelectSlides[_SelectSlidePlayer].Clear(); for (int i = 0; i < _TeamList[_CurrentTeam].Count; i++) { @@ -454,6 +452,21 @@ namespace VocaluxeLib.Menu CTexture avatar = CBase.Profiles.GetAvatar(_TeamList[_CurrentTeam][i]); _SelectSlides[_SelectSlidePlayer].AddValue(name, avatar); } + for (int i = _TeamList[_CurrentTeam].Count; i < _NumPlayerTeams[_CurrentTeam]; i++) + { + _SelectSlides[_SelectSlidePlayer].AddValue("Test", _NameSelections[_NameSelection].TextureEmptyTile); + } + if (selection >= _TeamList[_CurrentTeam].Count) + selection = _TeamList[_CurrentTeam].Count - 1; + _SelectSlides[_SelectSlidePlayer].SetSelectionByValueIndex(selection); + } + + private void _UpdateTeamSlide() + { + _SelectSlides[_SelectSlideTeams].Clear(); + for (int i = 1; i <= _NumTeams; i++) + _SelectSlides[_SelectSlideTeams].AddValue("Team " + i); + } private void _AddPlayer(int team, int profileID) @@ -464,12 +477,7 @@ namespace VocaluxeLib.Menu _NameSelections[_NameSelection].UseProfile(profileID); _TeamList[team].Add(profileID); - if (team == _CurrentTeam) - { - string name = CBase.Profiles.GetPlayerName(profileID); - CTexture avatar = CBase.Profiles.GetAvatar(profileID); - _SelectSlides[_SelectSlidePlayer].AddValue(name, avatar); - } + _UpdatePlayerSlide(); } private void _RemovePlayerByIndex(int team, int index) diff --git a/VocaluxeLib/Menu/CNameSelection.cs b/VocaluxeLib/Menu/CNameSelection.cs index 9f086781..66612234 100644 --- a/VocaluxeLib/Menu/CNameSelection.cs +++ b/VocaluxeLib/Menu/CNameSelection.cs @@ -71,6 +71,10 @@ namespace VocaluxeLib.Menu private CTexture _TextureEmptyTile; private CTexture _TextureTileSelected; + public CTexture TextureEmptyTile + { + get { return _TextureEmptyTile; } + } public SColorF ColorEmptyTile;