Fix blank screen issue
Also fix some other bugs and improvements (easier party modes, volume fixes, new fields for screens to control volume and popups)
This commit is contained in:
1 parent
36b81e8c1f
commit
26484ad137
62 files changed
+1160
-1964
No files matched your search
@@ -15,7 +15,6 @@
|
||||
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using VocaluxeLib.Menu;
|
||||
|
||||
@@ -31,89 +30,57 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
||||
get { return 1; }
|
||||
}
|
||||
|
||||
private int _NumPlayerTeam1 = 2;
|
||||
private int _NumPlayerTeam2 = 2;
|
||||
|
||||
private SDataFromScreen _Data;
|
||||
private new CPartyModeTicTacToe _PartyMode;
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
_Data.ScreenNames.ProfileIDsTeam1 = new List<int>();
|
||||
_Data.ScreenNames.ProfileIDsTeam2 = new List<int>();
|
||||
|
||||
_Data = new SDataFromScreen();
|
||||
var names = new SFromScreenNames {FadeToConfig = false, ProfileIDsTeam1 = new List<int>(), ProfileIDsTeam2 = new List<int>()};
|
||||
_Data.ScreenNames = names;
|
||||
}
|
||||
|
||||
public override void DataToScreen(object receivedData)
|
||||
{
|
||||
try
|
||||
{
|
||||
var config = (SDataToScreenNames)receivedData;
|
||||
_Data.ScreenNames.ProfileIDsTeam1 = config.ProfileIDsTeam1;
|
||||
_Data.ScreenNames.ProfileIDsTeam2 = config.ProfileIDsTeam2;
|
||||
if (_Data.ScreenNames.ProfileIDsTeam1 == null)
|
||||
_Data.ScreenNames.ProfileIDsTeam1 = new List<int>();
|
||||
if (_Data.ScreenNames.ProfileIDsTeam2 == null)
|
||||
_Data.ScreenNames.ProfileIDsTeam2 = new List<int>();
|
||||
|
||||
_NumPlayerTeam1 = config.NumPlayerTeam1;
|
||||
_NumPlayerTeam2 = config.NumPlayerTeam2;
|
||||
|
||||
while (_Data.ScreenNames.ProfileIDsTeam1.Count > _NumPlayerTeam1)
|
||||
_Data.ScreenNames.ProfileIDsTeam1.RemoveAt(_Data.ScreenNames.ProfileIDsTeam1.Count - 1);
|
||||
while (_Data.ScreenNames.ProfileIDsTeam2.Count > _NumPlayerTeam2)
|
||||
_Data.ScreenNames.ProfileIDsTeam2.RemoveAt(_Data.ScreenNames.ProfileIDsTeam2.Count - 1);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
CBase.Log.LogError("Error in party mode screen TicTacToe names. Can't cast received data from game mode " + ThemeName + ". " + e.Message);
|
||||
}
|
||||
_PartyMode = (CPartyModeTicTacToe)base._PartyMode;
|
||||
}
|
||||
|
||||
public override void OnShow()
|
||||
{
|
||||
base.OnShow();
|
||||
SetPartyModeData(2, _NumPlayerTeam1 + _NumPlayerTeam2, new int[] {_NumPlayerTeam1, _NumPlayerTeam2});
|
||||
List<int>[] ids = new List<int>[] {_Data.ScreenNames.ProfileIDsTeam1, _Data.ScreenNames.ProfileIDsTeam2};
|
||||
|
||||
while (_PartyMode.GameData.ProfileIDsTeam1.Count > _PartyMode.GameData.NumPlayerTeam1)
|
||||
_PartyMode.GameData.ProfileIDsTeam1.RemoveAt(_PartyMode.GameData.ProfileIDsTeam1.Count - 1);
|
||||
while (_PartyMode.GameData.ProfileIDsTeam2.Count > _PartyMode.GameData.NumPlayerTeam2)
|
||||
_PartyMode.GameData.ProfileIDsTeam2.RemoveAt(_PartyMode.GameData.ProfileIDsTeam2.Count - 1);
|
||||
|
||||
SetPartyModeData(2, _PartyMode.GameData.NumPlayerTeam1 + _PartyMode.GameData.NumPlayerTeam2,
|
||||
new int[] {_PartyMode.GameData.NumPlayerTeam1, _PartyMode.GameData.NumPlayerTeam2});
|
||||
List<int>[] ids = new List<int>[] {_PartyMode.GameData.ProfileIDsTeam1, _PartyMode.GameData.ProfileIDsTeam2};
|
||||
SetPartyModeProfiles(ids);
|
||||
}
|
||||
|
||||
public override void Back()
|
||||
{
|
||||
SPartyNameOptions options = GetData();
|
||||
if (options.TeamList.Length == 2)
|
||||
if (_TeamList.Length == 2)
|
||||
{
|
||||
_Data.ScreenNames.ProfileIDsTeam1 = options.TeamList[0];
|
||||
_Data.ScreenNames.ProfileIDsTeam2 = options.TeamList[1];
|
||||
_PartyMode.GameData.ProfileIDsTeam1 = _TeamList[0];
|
||||
_PartyMode.GameData.ProfileIDsTeam2 = _TeamList[1];
|
||||
}
|
||||
if (options.NumPlayerTeams.Length == 2)
|
||||
if (_NumPlayerTeams.Length == 2)
|
||||
{
|
||||
_Data.ScreenNames.NumPlayerTeam1 = options.NumPlayerTeams[0];
|
||||
_Data.ScreenNames.NumPlayerTeam2 = options.NumPlayerTeams[1];
|
||||
_PartyMode.GameData.NumPlayerTeam1 = _NumPlayerTeams[0];
|
||||
_PartyMode.GameData.NumPlayerTeam2 = _NumPlayerTeams[1];
|
||||
}
|
||||
_Data.ScreenNames.FadeToConfig = true;
|
||||
_PartyMode.DataFromScreen(ThemeName, _Data);
|
||||
_PartyMode.Back();
|
||||
}
|
||||
|
||||
public override void Next()
|
||||
{
|
||||
SPartyNameOptions options = GetData();
|
||||
if (options.TeamList.Length == 2)
|
||||
if (_TeamList.Length == 2)
|
||||
{
|
||||
_Data.ScreenNames.ProfileIDsTeam1 = options.TeamList[0];
|
||||
_Data.ScreenNames.ProfileIDsTeam2 = options.TeamList[1];
|
||||
_PartyMode.GameData.ProfileIDsTeam1 = _TeamList[0];
|
||||
_PartyMode.GameData.ProfileIDsTeam2 = _TeamList[1];
|
||||
}
|
||||
if (options.NumPlayerTeams.Length == 2)
|
||||
if (_NumPlayerTeams.Length == 2)
|
||||
{
|
||||
_Data.ScreenNames.NumPlayerTeam1 = options.NumPlayerTeams[0];
|
||||
_Data.ScreenNames.NumPlayerTeam2 = options.NumPlayerTeams[1];
|
||||
_PartyMode.GameData.NumPlayerTeam1 = _NumPlayerTeams[0];
|
||||
_PartyMode.GameData.NumPlayerTeam2 = _NumPlayerTeams[1];
|
||||
}
|
||||
_Data.ScreenNames.FadeToConfig = false;
|
||||
_PartyMode.DataFromScreen(ThemeName, _Data);
|
||||
_PartyMode.Next();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user