diff --git a/VocaluxeLib/Menu/CMenuPartyNameSelection.cs b/VocaluxeLib/Menu/CMenuPartyNameSelection.cs index db867fb3..a5fe3c28 100644 --- a/VocaluxeLib/Menu/CMenuPartyNameSelection.cs +++ b/VocaluxeLib/Menu/CMenuPartyNameSelection.cs @@ -24,6 +24,17 @@ namespace VocaluxeLib.Menu { public abstract class CMenuPartyNameSelection : CMenuParty { + private bool _AllPlayerSelected + { + get + { + for (int team = 0; team < _NumTeams; team++) + if (_TeamList[team].Count < _NumPlayerTeams[team]) + return false; + return true; + } + } + private bool _Teams; protected int _NumTeams = -1; protected int _NumPlayer = -1; @@ -99,6 +110,7 @@ namespace VocaluxeLib.Menu _LoadProfiles(); _UpdateButtonVisibility(); _UpdateButtonState(); + _UpdateNextButtonVisibility(); } public void SetPartyModeProfiles(List[] teamProfiles) @@ -547,6 +559,7 @@ namespace VocaluxeLib.Menu _UpdateButtonVisibility(); _UpdateButtonState(); + _UpdateNextButtonVisibility(); } public abstract void Back(); @@ -715,6 +728,7 @@ namespace VocaluxeLib.Menu _TeamList[team].Add(profileID); _UpdatePlayerSlide(); + _UpdateNextButtonVisibility(); } private void _RemoveAllPlayer() @@ -736,12 +750,16 @@ namespace VocaluxeLib.Menu _TeamList[team].RemoveAt(index); _NameSelections[_NameSelection].RemoveUsedProfile(id); } + + _UpdateNextButtonVisibility(); } private void _RemovePlayer(int team, int profileID) { _TeamList[team].Remove(profileID); _NameSelections[_NameSelection].RemoveUsedProfile(profileID); + + _UpdateNextButtonVisibility(); } private void _SelectRandom() @@ -756,6 +774,11 @@ namespace VocaluxeLib.Menu } } } + + private void _UpdateNextButtonVisibility() + { + _Buttons[_ButtonNext].Visible = _AllPlayerSelected; + } #endregion } } \ No newline at end of file