Merge branch 'develop' into rap
No files matched your search
@@ -18,6 +18,8 @@
|
|||||||
<string name="TR_SCREENCONFIG_NUMPLAYERST2">Number of players in team 2</string>
|
<string name="TR_SCREENCONFIG_NUMPLAYERST2">Number of players in team 2</string>
|
||||||
<string name="TR_SCREENCONFIG_NUMFIELDS">Number of fields</string>
|
<string name="TR_SCREENCONFIG_NUMFIELDS">Number of fields</string>
|
||||||
<string name="TR_SCREENCONFIG_REFILLJOKERS">Refill jokers every round</string>
|
<string name="TR_SCREENCONFIG_REFILLJOKERS">Refill jokers every round</string>
|
||||||
|
<string name="TR_SCREENCONFIG_NUMJOKERS">Number of jokers</string>
|
||||||
|
<string name="TR_SCREENCONFIG_SWITCH_PLAYER">Switch player</string>
|
||||||
<string name="TR_SCREENNAMES_TITLE">Tic-Tac-Toe: Choose Player</string>
|
<string name="TR_SCREENNAMES_TITLE">Tic-Tac-Toe: Choose Player</string>
|
||||||
<string name="TR_SCREENNAMES_SELPLAYERSTITLE">Selected players for this team:</string>
|
<string name="TR_SCREENNAMES_SELPLAYERSTITLE">Selected players for this team:</string>
|
||||||
<string name="TR_SCREENNAMES_TEAM1">Team 1</string>
|
<string name="TR_SCREENNAMES_TEAM1">Team 1</string>
|
||||||
|
|||||||
@@ -18,6 +18,8 @@
|
|||||||
<string name="TR_SCREENCONFIG_NUMPLAYERST2">Nombre de joueurs dans l'Equipe 2</string>
|
<string name="TR_SCREENCONFIG_NUMPLAYERST2">Nombre de joueurs dans l'Equipe 2</string>
|
||||||
<string name="TR_SCREENCONFIG_NUMFIELDS">Nombre de champs</string>
|
<string name="TR_SCREENCONFIG_NUMFIELDS">Nombre de champs</string>
|
||||||
<string name="TR_SCREENCONFIG_REFILLJOKERS">Recharger les jokers a chaque tour</string>
|
<string name="TR_SCREENCONFIG_REFILLJOKERS">Recharger les jokers a chaque tour</string>
|
||||||
|
<string name="TR_SCREENCONFIG_NUMJOKERS">Nombre de jokers</string>
|
||||||
|
<string name="TR_SCREENCONFIG_SWITCH_PLAYER">Changement de joueur</string>
|
||||||
<string name="TR_SCREENNAMES_TITLE">Tic-Tac-Toe: Choix des joueurs</string>
|
<string name="TR_SCREENNAMES_TITLE">Tic-Tac-Toe: Choix des joueurs</string>
|
||||||
<string name="TR_SCREENNAMES_TEAM1">Equipe 1</string>
|
<string name="TR_SCREENNAMES_TEAM1">Equipe 1</string>
|
||||||
<string name="TR_SCREENNAMES_TEAM2">Equipe 2</string>
|
<string name="TR_SCREENNAMES_TEAM2">Equipe 2</string>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
<Informations>
|
<Informations>
|
||||||
<ScreenName>PartyScreenTicTacToeConfig</ScreenName>
|
<ScreenName>PartyScreenTicTacToeConfig</ScreenName>
|
||||||
<ScreenVersion>2</ScreenVersion>
|
<ScreenVersion>3</ScreenVersion>
|
||||||
</Informations>
|
</Informations>
|
||||||
<Backgrounds>
|
<Backgrounds>
|
||||||
<Background Name="Background1">
|
<Background Name="Background1">
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
<Font>Outline</Font>
|
<Font>Outline</Font>
|
||||||
<Text>TR_SCREENCONFIG_NUMFIELDS</Text>
|
<Text>TR_SCREENCONFIG_NUMFIELDS</Text>
|
||||||
</Text>
|
</Text>
|
||||||
<Text Name="TextRefillJokers">
|
<Text Name="TextNumJokers">
|
||||||
<X>75</X>
|
<X>75</X>
|
||||||
<Y>165</Y>
|
<Y>165</Y>
|
||||||
<Z>0</Z>
|
<Z>0</Z>
|
||||||
@@ -67,8 +67,36 @@
|
|||||||
<ResizeAlign>Center</ResizeAlign>
|
<ResizeAlign>Center</ResizeAlign>
|
||||||
<Style>Bold</Style>
|
<Style>Bold</Style>
|
||||||
<Font>Outline</Font>
|
<Font>Outline</Font>
|
||||||
|
<Text>TR_SCREENCONFIG_NUMJOKERS</Text>
|
||||||
|
</Text>
|
||||||
|
<Text Name="TextRefillJokers">
|
||||||
|
<X>75</X>
|
||||||
|
<Y>225</Y>
|
||||||
|
<Z>0</Z>
|
||||||
|
<H>27</H>
|
||||||
|
<MaxW>0</MaxW>
|
||||||
|
<Color Name="TextColor" />
|
||||||
|
<SelColor Name="TextSelColor" />
|
||||||
|
<Align>Left</Align>
|
||||||
|
<ResizeAlign>Center</ResizeAlign>
|
||||||
|
<Style>Bold</Style>
|
||||||
|
<Font>Outline</Font>
|
||||||
<Text>TR_SCREENCONFIG_REFILLJOKERS</Text>
|
<Text>TR_SCREENCONFIG_REFILLJOKERS</Text>
|
||||||
</Text>
|
</Text>
|
||||||
|
<Text Name="TextSwitchPlayer">
|
||||||
|
<X>75</X>
|
||||||
|
<Y>285</Y>
|
||||||
|
<Z>0</Z>
|
||||||
|
<H>27</H>
|
||||||
|
<MaxW>0</MaxW>
|
||||||
|
<Color Name="TextColor" />
|
||||||
|
<SelColor Name="TextSelColor" />
|
||||||
|
<Align>Left</Align>
|
||||||
|
<ResizeAlign>Center</ResizeAlign>
|
||||||
|
<Style>Bold</Style>
|
||||||
|
<Font>Outline</Font>
|
||||||
|
<Text>TR_SCREENCONFIG_SWITCH_PLAYER</Text>
|
||||||
|
</Text>
|
||||||
</Texts>
|
</Texts>
|
||||||
<Buttons>
|
<Buttons>
|
||||||
<Button Name="ButtonNext">
|
<Button Name="ButtonNext">
|
||||||
@@ -187,7 +215,7 @@
|
|||||||
<TextStyle>Bold</TextStyle>
|
<TextStyle>Bold</TextStyle>
|
||||||
<NumVisible>3</NumVisible>
|
<NumVisible>3</NumVisible>
|
||||||
</SelectSlide>
|
</SelectSlide>
|
||||||
<SelectSlide Name="SelectSlideRefillJokers">
|
<SelectSlide Name="SelectSlideNumJockers">
|
||||||
<Skin/>
|
<Skin/>
|
||||||
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
|
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
|
||||||
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
|
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
|
||||||
@@ -227,6 +255,90 @@
|
|||||||
<TextMaxW>205.33</TextMaxW>
|
<TextMaxW>205.33</TextMaxW>
|
||||||
<TextFont>Outline</TextFont>
|
<TextFont>Outline</TextFont>
|
||||||
<TextStyle>Bold</TextStyle>
|
<TextStyle>Bold</TextStyle>
|
||||||
|
<NumVisible>3</NumVisible>
|
||||||
|
</SelectSlide>
|
||||||
|
<SelectSlide Name="SelectSlideRefillJokers">
|
||||||
|
<Skin/>
|
||||||
|
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
|
||||||
|
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
|
||||||
|
<SkinSelected>SelectSlide</SkinSelected>
|
||||||
|
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
|
||||||
|
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
|
||||||
|
<Rect>
|
||||||
|
<X>500</X>
|
||||||
|
<Y>220</Y>
|
||||||
|
<W>700</W>
|
||||||
|
<H>50</H>
|
||||||
|
<Z>0</Z>
|
||||||
|
</Rect>
|
||||||
|
<RectArrowLeft>
|
||||||
|
<X>505</X>
|
||||||
|
<Y>225</Y>
|
||||||
|
<W>40</W>
|
||||||
|
<H>40</H>
|
||||||
|
<Z>0</Z>
|
||||||
|
</RectArrowLeft>
|
||||||
|
<RectArrowRight>
|
||||||
|
<X>1155</X>
|
||||||
|
<Y>225</Y>
|
||||||
|
<W>40</W>
|
||||||
|
<H>40</H>
|
||||||
|
<Z>0</Z>
|
||||||
|
</RectArrowRight>
|
||||||
|
<Color Name="SelectSlideColor" />
|
||||||
|
<SelColor Name="SelectSlideSelColor" />
|
||||||
|
<ArrowColor Name="ArrowColor" />
|
||||||
|
<ArrowSelColor Name="ArrowSelColor" />
|
||||||
|
<TextColor Name="TextColorAlpha" />
|
||||||
|
<TextSelColor Name="TextSelColor" />
|
||||||
|
<TextH>27</TextH>
|
||||||
|
<TextRelativeX>50</TextRelativeX>
|
||||||
|
<TextRelativeY>0</TextRelativeY>
|
||||||
|
<TextMaxW>205.33</TextMaxW>
|
||||||
|
<TextFont>Outline</TextFont>
|
||||||
|
<TextStyle>Bold</TextStyle>
|
||||||
|
<NumVisible>2</NumVisible>
|
||||||
|
</SelectSlide>
|
||||||
|
<SelectSlide Name="SelectSlideSwitchPlayer">
|
||||||
|
<Skin/>
|
||||||
|
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
|
||||||
|
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
|
||||||
|
<SkinSelected>SelectSlide</SkinSelected>
|
||||||
|
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
|
||||||
|
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
|
||||||
|
<Rect>
|
||||||
|
<X>500</X>
|
||||||
|
<Y>270</Y>
|
||||||
|
<W>700</W>
|
||||||
|
<H>50</H>
|
||||||
|
<Z>0</Z>
|
||||||
|
</Rect>
|
||||||
|
<RectArrowLeft>
|
||||||
|
<X>505</X>
|
||||||
|
<Y>275</Y>
|
||||||
|
<W>40</W>
|
||||||
|
<H>40</H>
|
||||||
|
<Z>0</Z>
|
||||||
|
</RectArrowLeft>
|
||||||
|
<RectArrowRight>
|
||||||
|
<X>1155</X>
|
||||||
|
<Y>275</Y>
|
||||||
|
<W>40</W>
|
||||||
|
<H>40</H>
|
||||||
|
<Z>0</Z>
|
||||||
|
</RectArrowRight>
|
||||||
|
<Color Name="SelectSlideColor" />
|
||||||
|
<SelColor Name="SelectSlideSelColor" />
|
||||||
|
<ArrowColor Name="ArrowColor" />
|
||||||
|
<ArrowSelColor Name="ArrowSelColor" />
|
||||||
|
<TextColor Name="TextColorAlpha" />
|
||||||
|
<TextSelColor Name="TextSelColor" />
|
||||||
|
<TextH>27</TextH>
|
||||||
|
<TextRelativeX>50</TextRelativeX>
|
||||||
|
<TextRelativeY>0</TextRelativeY>
|
||||||
|
<TextMaxW>205.33</TextMaxW>
|
||||||
|
<TextFont>Outline</TextFont>
|
||||||
|
<TextStyle>Bold</TextStyle>
|
||||||
<NumVisible>2</NumVisible>
|
<NumVisible>2</NumVisible>
|
||||||
</SelectSlide>
|
</SelectSlide>
|
||||||
</SelectSlides>
|
</SelectSlides>
|
||||||
|
|||||||
@@ -506,6 +506,64 @@
|
|||||||
<Text />
|
<Text />
|
||||||
</Text>
|
</Text>
|
||||||
</Button>
|
</Button>
|
||||||
|
<Button Name="ButtonSwitchPlayerT1">
|
||||||
|
<Skin>RepeatIcon</Skin>
|
||||||
|
<SkinSelected>RepeatIcon</SkinSelected>
|
||||||
|
<Rect>
|
||||||
|
<X>260</X>
|
||||||
|
<Y>240</Y>
|
||||||
|
<W>60</W>
|
||||||
|
<H>60</H>
|
||||||
|
<Z>-4</Z>
|
||||||
|
</Rect>
|
||||||
|
<Color Name="Player1" >
|
||||||
|
<A>0.5</A>
|
||||||
|
</Color>
|
||||||
|
<SelColor Name="Player1" />
|
||||||
|
<Text Name="Text">
|
||||||
|
<X>48</X>
|
||||||
|
<Y>25</Y>
|
||||||
|
<Z>0</Z>
|
||||||
|
<H>50</H>
|
||||||
|
<MaxW>50</MaxW>
|
||||||
|
<Color Name="ButtonTextColor" />
|
||||||
|
<SelColor Name="ButtonTextSelColor" />
|
||||||
|
<Align>Center</Align>
|
||||||
|
<ResizeAlign>Center</ResizeAlign>
|
||||||
|
<Style>Bold</Style>
|
||||||
|
<Font>Outline</Font>
|
||||||
|
<Text />
|
||||||
|
</Text>
|
||||||
|
</Button>
|
||||||
|
<Button Name="ButtonSwitchPlayerT2">
|
||||||
|
<Skin>RepeatIcon</Skin>
|
||||||
|
<SkinSelected>RepeatIcon</SkinSelected>
|
||||||
|
<Rect>
|
||||||
|
<X>960</X>
|
||||||
|
<Y>240</Y>
|
||||||
|
<W>60</W>
|
||||||
|
<H>60</H>
|
||||||
|
<Z>-4</Z>
|
||||||
|
</Rect>
|
||||||
|
<Color Name="Player2" >
|
||||||
|
<A>0.5</A>
|
||||||
|
</Color>
|
||||||
|
<SelColor Name="Player2" />
|
||||||
|
<Text Name="Text">
|
||||||
|
<X>48</X>
|
||||||
|
<Y>25</Y>
|
||||||
|
<Z>0</Z>
|
||||||
|
<H>50</H>
|
||||||
|
<MaxW>50</MaxW>
|
||||||
|
<Color Name="ButtonTextColor" />
|
||||||
|
<SelColor Name="ButtonTextSelColor" />
|
||||||
|
<Align>Center</Align>
|
||||||
|
<ResizeAlign>Center</ResizeAlign>
|
||||||
|
<Style>Bold</Style>
|
||||||
|
<Font>Outline</Font>
|
||||||
|
<Text />
|
||||||
|
</Text>
|
||||||
|
</Button>
|
||||||
</Buttons>
|
</Buttons>
|
||||||
<SongMenus />
|
<SongMenus />
|
||||||
<Lyrics />
|
<Lyrics />
|
||||||
|
|||||||
@@ -104,11 +104,10 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
public int NumPlayerTeam1;
|
public int NumPlayerTeam1;
|
||||||
public int NumPlayerTeam2;
|
public int NumPlayerTeam2;
|
||||||
public int NumFields;
|
public int NumFields;
|
||||||
|
public int NumJockers;
|
||||||
public int Team;
|
public int Team;
|
||||||
public List<Guid> ProfileIDsTeam1;
|
public List<Guid> ProfileIDsTeam1;
|
||||||
public List<Guid> ProfileIDsTeam2;
|
public List<Guid> ProfileIDsTeam2;
|
||||||
public List<int> PlayerTeam1;
|
|
||||||
public List<int> PlayerTeam2;
|
|
||||||
|
|
||||||
public ESongSource SongSource;
|
public ESongSource SongSource;
|
||||||
public ESongSorting Sorting;
|
public ESongSorting Sorting;
|
||||||
@@ -127,6 +126,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
public int[] NumJokerRandom;
|
public int[] NumJokerRandom;
|
||||||
public int[] NumJokerRetry;
|
public int[] NumJokerRetry;
|
||||||
public EOffOn RefillJokers;
|
public EOffOn RefillJokers;
|
||||||
|
public EOffOn SwitchPlayer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SData GameData;
|
public SData GameData;
|
||||||
@@ -149,10 +149,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
NumPlayerTeam1 = 2,
|
NumPlayerTeam1 = 2,
|
||||||
NumPlayerTeam2 = 2,
|
NumPlayerTeam2 = 2,
|
||||||
NumFields = 9,
|
NumFields = 9,
|
||||||
|
NumJockers = 1,
|
||||||
ProfileIDsTeam1 = new List<Guid>(),
|
ProfileIDsTeam1 = new List<Guid>(),
|
||||||
ProfileIDsTeam2 = new List<Guid>(),
|
ProfileIDsTeam2 = new List<Guid>(),
|
||||||
PlayerTeam1 = new List<int>(),
|
|
||||||
PlayerTeam2 = new List<int>(),
|
|
||||||
CurrentRoundNr = 0,
|
CurrentRoundNr = 0,
|
||||||
FieldNr = 0,
|
FieldNr = 0,
|
||||||
Sorting = CBase.Config.GetSongSorting(),
|
Sorting = CBase.Config.GetSongSorting(),
|
||||||
@@ -183,8 +182,6 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
|
|
||||||
GameData.Songs.Clear();
|
GameData.Songs.Clear();
|
||||||
GameData.Rounds.Clear();
|
GameData.Rounds.Clear();
|
||||||
GameData.PlayerTeam1.Clear();
|
|
||||||
GameData.PlayerTeam2.Clear();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool Init()
|
public override bool Init()
|
||||||
@@ -247,7 +244,6 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
GameData.CurrentRoundNr = 1;
|
GameData.CurrentRoundNr = 1;
|
||||||
_CreateRounds();
|
_CreateRounds();
|
||||||
_SetNumJokers();
|
_SetNumJokers();
|
||||||
_PreparePlayerList(0);
|
|
||||||
break;
|
break;
|
||||||
case EStage.Main:
|
case EStage.Main:
|
||||||
_Stage = EStage.Singing;
|
_Stage = EStage.Singing;
|
||||||
@@ -256,7 +252,6 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
case EStage.Singing:
|
case EStage.Singing:
|
||||||
_Stage = EStage.Main;
|
_Stage = EStage.Main;
|
||||||
GameData.Team = GameData.Team == 1 ? 0 : 1;
|
GameData.Team = GameData.Team == 1 ? 0 : 1;
|
||||||
_UpdatePlayerList();
|
|
||||||
if (GameData.RefillJokers == EOffOn.TR_CONFIG_ON)
|
if (GameData.RefillJokers == EOffOn.TR_CONFIG_ON)
|
||||||
_SetNumJokers();
|
_SetNumJokers();
|
||||||
break;
|
break;
|
||||||
@@ -337,101 +332,6 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void _PreparePlayerList(int team)
|
|
||||||
{
|
|
||||||
switch (team)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
{
|
|
||||||
GameData.PlayerTeam1 = new List<int>();
|
|
||||||
GameData.PlayerTeam2 = new List<int>();
|
|
||||||
|
|
||||||
//Prepare Player-IDs
|
|
||||||
var ids1 = new List<int>();
|
|
||||||
var ids2 = new List<int>();
|
|
||||||
//Add IDs to team-list
|
|
||||||
while (GameData.PlayerTeam1.Count < GameData.NumFields + GameData.NumJokerRetry[0] &&
|
|
||||||
GameData.PlayerTeam2.Count < GameData.NumFields + GameData.NumJokerRetry[1])
|
|
||||||
{
|
|
||||||
if (ids1.Count == 0)
|
|
||||||
{
|
|
||||||
for (int i = 0; i < GameData.NumPlayerTeam1; i++)
|
|
||||||
ids1.Add(i);
|
|
||||||
}
|
|
||||||
if (ids2.Count == 0)
|
|
||||||
{
|
|
||||||
for (int i = 0; i < GameData.NumPlayerTeam2; i++)
|
|
||||||
ids2.Add(i);
|
|
||||||
}
|
|
||||||
int num;
|
|
||||||
if (GameData.PlayerTeam1.Count < GameData.NumFields + GameData.NumJokerRetry[0])
|
|
||||||
{
|
|
||||||
num = CBase.Game.GetRandom(ids1.Count);
|
|
||||||
if (num >= ids1.Count)
|
|
||||||
num = ids1.Count - 1;
|
|
||||||
GameData.PlayerTeam1.Add(ids1[num]);
|
|
||||||
ids1.RemoveAt(num);
|
|
||||||
}
|
|
||||||
if (GameData.PlayerTeam2.Count < GameData.NumFields + GameData.NumJokerRetry[1])
|
|
||||||
{
|
|
||||||
num = CBase.Game.GetRandom(ids2.Count);
|
|
||||||
if (num >= ids2.Count)
|
|
||||||
num = ids2.Count - 1;
|
|
||||||
GameData.PlayerTeam2.Add(ids2[num]);
|
|
||||||
ids2.RemoveAt(num);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
{
|
|
||||||
//Prepare Player-IDs
|
|
||||||
var ids = new List<int>();
|
|
||||||
//Add IDs to team-list
|
|
||||||
while (GameData.PlayerTeam1.Count < GameData.NumFields + GameData.NumJokerRetry[0] && ids.Count == 0)
|
|
||||||
{
|
|
||||||
if (ids.Count == 0)
|
|
||||||
{
|
|
||||||
for (int i = 0; i < GameData.NumPlayerTeam1; i++)
|
|
||||||
ids.Add(i);
|
|
||||||
}
|
|
||||||
if (GameData.PlayerTeam1.Count < GameData.NumFields + GameData.NumJokerRetry[0])
|
|
||||||
{
|
|
||||||
int num = CBase.Game.GetRandom(ids.Count);
|
|
||||||
if (num >= ids.Count)
|
|
||||||
num = ids.Count - 1;
|
|
||||||
GameData.PlayerTeam1.Add(ids[num]);
|
|
||||||
ids.RemoveAt(num);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
{
|
|
||||||
//Prepare Player-IDs
|
|
||||||
var ids = new List<int>();
|
|
||||||
//Add IDs to team-list
|
|
||||||
while (GameData.PlayerTeam2.Count < GameData.NumFields + GameData.NumJokerRetry[1] && ids.Count == 0)
|
|
||||||
{
|
|
||||||
if (ids.Count == 0)
|
|
||||||
{
|
|
||||||
for (int i = 0; i < GameData.NumPlayerTeam2; i++)
|
|
||||||
ids.Add(i);
|
|
||||||
}
|
|
||||||
if (GameData.PlayerTeam2.Count < GameData.NumFields + GameData.NumJokerRetry[1])
|
|
||||||
{
|
|
||||||
int num = CBase.Game.GetRandom(ids.Count);
|
|
||||||
if (num >= ids.Count)
|
|
||||||
num = ids.Count - 1;
|
|
||||||
GameData.PlayerTeam2.Add(ids[num]);
|
|
||||||
ids.RemoveAt(num);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateSongList()
|
public void UpdateSongList()
|
||||||
{
|
{
|
||||||
if (GameData.Songs.Count > 0)
|
if (GameData.Songs.Count > 0)
|
||||||
@@ -465,14 +365,6 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
GameData.Songs.Shuffle();
|
GameData.Songs.Shuffle();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void _UpdatePlayerList()
|
|
||||||
{
|
|
||||||
if (GameData.PlayerTeam1.Count == 0)
|
|
||||||
_PreparePlayerList(1);
|
|
||||||
if (GameData.PlayerTeam2.Count == 0)
|
|
||||||
_PreparePlayerList(2);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void _StartRound(int roundNr)
|
private void _StartRound(int roundNr)
|
||||||
{
|
{
|
||||||
CBase.Game.Reset();
|
CBase.Game.Reset();
|
||||||
@@ -505,25 +397,23 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
|
|
||||||
private void _SetNumJokers()
|
private void _SetNumJokers()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
GameData.NumJokerRandom[0] = GameData.NumJockers;
|
||||||
|
GameData.NumJokerRandom[1] = GameData.NumJockers;
|
||||||
|
|
||||||
switch (GameData.NumFields)
|
switch (GameData.NumFields)
|
||||||
{
|
{
|
||||||
case 9:
|
case 9:
|
||||||
GameData.NumJokerRandom[0] = 1;
|
|
||||||
GameData.NumJokerRandom[1] = 1;
|
|
||||||
GameData.NumJokerRetry[0] = 0;
|
GameData.NumJokerRetry[0] = 0;
|
||||||
GameData.NumJokerRetry[1] = 0;
|
GameData.NumJokerRetry[1] = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 16:
|
case 16:
|
||||||
GameData.NumJokerRandom[0] = 2;
|
|
||||||
GameData.NumJokerRandom[1] = 2;
|
|
||||||
GameData.NumJokerRetry[0] = 1;
|
GameData.NumJokerRetry[0] = 1;
|
||||||
GameData.NumJokerRetry[1] = 1;
|
GameData.NumJokerRetry[1] = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 25:
|
case 25:
|
||||||
GameData.NumJokerRandom[0] = 3;
|
|
||||||
GameData.NumJokerRandom[1] = 3;
|
|
||||||
GameData.NumJokerRetry[0] = 2;
|
GameData.NumJokerRetry[0] = 2;
|
||||||
GameData.NumJokerRetry[1] = 2;
|
GameData.NumJokerRetry[1] = 2;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -26,16 +26,19 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
{
|
{
|
||||||
// ReSharper disable UnusedMember.Global
|
// ReSharper disable UnusedMember.Global
|
||||||
public class CPartyScreenTicTacToeConfig : CPartyScreenTicTacToe
|
public class CPartyScreenTicTacToeConfig : CPartyScreenTicTacToe
|
||||||
// ReSharper restore UnusedMember.Global
|
// ReSharper restore UnusedMember.Global
|
||||||
{
|
{
|
||||||
// Version number for theme files. Increment it, if you've changed something on the theme files!
|
// Version number for theme files. Increment it, if you've changed something on the theme files!
|
||||||
protected override int _ScreenVersion
|
protected override int _ScreenVersion
|
||||||
{
|
{
|
||||||
get { return 2; }
|
get { return 3; }
|
||||||
}
|
}
|
||||||
|
|
||||||
private const string _SelectSlideNumFields = "SelectSlideNumFields";
|
private const string _SelectSlideNumFields = "SelectSlideNumFields";
|
||||||
|
private const string _SelectSlideNumJockers = "SelectSlideNumJockers";
|
||||||
private const string _SelectSlideRefillJokers = "SelectSlideRefillJokers";
|
private const string _SelectSlideRefillJokers = "SelectSlideRefillJokers";
|
||||||
|
private const string _SelectSlideNumJokers = "SelectSlideNumJokers";
|
||||||
|
private const string _SelectSlideSwitchPlayer = "SelectSlideSwitchPlayer";
|
||||||
|
|
||||||
private const string _ButtonNext = "ButtonNext";
|
private const string _ButtonNext = "ButtonNext";
|
||||||
private const string _ButtonBack = "ButtonBack";
|
private const string _ButtonBack = "ButtonBack";
|
||||||
@@ -46,15 +49,15 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
{
|
{
|
||||||
base.Init();
|
base.Init();
|
||||||
|
|
||||||
_ThemeSelectSlides = new string[] { _SelectSlideNumFields };
|
_ThemeSelectSlides = new string[] { _SelectSlideNumFields, _SelectSlideNumJokers, _SelectSlideRefillJokers, _SelectSlideSwitchPlayer };
|
||||||
_ThemeButtons = new string[] {_ButtonNext, _ButtonBack};
|
_ThemeButtons = new string[] { _ButtonNext, _ButtonBack };
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool HandleInput(SKeyEvent keyEvent)
|
public override bool HandleInput(SKeyEvent keyEvent)
|
||||||
{
|
{
|
||||||
base.HandleInput(keyEvent);
|
base.HandleInput(keyEvent);
|
||||||
|
|
||||||
if (keyEvent.KeyPressed) {}
|
if (keyEvent.KeyPressed) { }
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
switch (keyEvent.Key)
|
switch (keyEvent.Key)
|
||||||
@@ -131,14 +134,25 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
|
|
||||||
_SelectSlides[_SelectSlideNumFields].SelectedTag = _PartyMode.GameData.NumFields;
|
_SelectSlides[_SelectSlideNumFields].SelectedTag = _PartyMode.GameData.NumFields;
|
||||||
|
|
||||||
|
_SelectSlides[_SelectSlideNumJockers].Clear();
|
||||||
|
for (int i = 0; i <= 3; i++)
|
||||||
|
_SelectSlides[_SelectSlideNumJockers].AddValue(i);
|
||||||
|
|
||||||
|
_SelectSlides[_SelectSlideNumJockers].SelectedTag = _PartyMode.GameData.NumJockers;
|
||||||
|
|
||||||
_SelectSlides[_SelectSlideRefillJokers].AddValues(Enum.GetNames(typeof(EOffOn)));
|
_SelectSlides[_SelectSlideRefillJokers].AddValues(Enum.GetNames(typeof(EOffOn)));
|
||||||
_SelectSlides[_SelectSlideRefillJokers].Selection = (int)_PartyMode.GameData.RefillJokers;
|
_SelectSlides[_SelectSlideRefillJokers].Selection = (int)_PartyMode.GameData.RefillJokers;
|
||||||
|
|
||||||
|
_SelectSlides[_SelectSlideSwitchPlayer].AddValues(Enum.GetNames(typeof(EOffOn)));
|
||||||
|
_SelectSlides[_SelectSlideSwitchPlayer].Selection = (int)_PartyMode.GameData.SwitchPlayer;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void _UpdateSlides()
|
private void _UpdateSlides()
|
||||||
{
|
{
|
||||||
_PartyMode.GameData.NumFields = _SelectSlides[_SelectSlideNumFields].SelectedTag;
|
_PartyMode.GameData.NumFields = _SelectSlides[_SelectSlideNumFields].SelectedTag;
|
||||||
|
_PartyMode.GameData.NumJockers = _SelectSlides[_SelectSlideNumJockers].Selection;
|
||||||
_PartyMode.GameData.RefillJokers = (EOffOn)_SelectSlides[_SelectSlideRefillJokers].Selection;
|
_PartyMode.GameData.RefillJokers = (EOffOn)_SelectSlides[_SelectSlideRefillJokers].Selection;
|
||||||
|
_PartyMode.GameData.SwitchPlayer = (EOffOn)_SelectSlides[_SelectSlideSwitchPlayer].Selection;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VocaluxeLib.Menu;
|
using VocaluxeLib.Menu;
|
||||||
using VocaluxeLib.Songs;
|
using VocaluxeLib.Songs;
|
||||||
@@ -33,7 +34,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
|
|
||||||
// ReSharper disable UnusedMember.Global
|
// ReSharper disable UnusedMember.Global
|
||||||
public class CPartyScreenTicTacToeMain : CPartyScreenTicTacToe
|
public class CPartyScreenTicTacToeMain : CPartyScreenTicTacToe
|
||||||
// ReSharper restore UnusedMember.Global
|
// ReSharper restore UnusedMember.Global
|
||||||
{
|
{
|
||||||
// Version number for theme files. Increment it, if you've changed something on the theme files!
|
// Version number for theme files. Increment it, if you've changed something on the theme files!
|
||||||
protected override int _ScreenVersion
|
protected override int _ScreenVersion
|
||||||
@@ -60,6 +61,8 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
private const string _ButtonJokerRandomT2 = "ButtonJokerRandomT2";
|
private const string _ButtonJokerRandomT2 = "ButtonJokerRandomT2";
|
||||||
private const string _ButtonJokerRetryT1 = "ButtonJokerRetryT1";
|
private const string _ButtonJokerRetryT1 = "ButtonJokerRetryT1";
|
||||||
private const string _ButtonJokerRetryT2 = "ButtonJokerRetryT2";
|
private const string _ButtonJokerRetryT2 = "ButtonJokerRetryT2";
|
||||||
|
private const string _ButtonSwitchPlayerT1 = "ButtonSwitchPlayerT1";
|
||||||
|
private const string _ButtonSwitchPlayerT2 = "ButtonSwitchPlayerT2";
|
||||||
|
|
||||||
private const string _StaticPopupBG = "StaticPopupBG";
|
private const string _StaticPopupBG = "StaticPopupBG";
|
||||||
private const string _StaticAvatarT1 = "StaticAvatarT1";
|
private const string _StaticAvatarT1 = "StaticAvatarT1";
|
||||||
@@ -78,6 +81,12 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
private const int _FieldSpace = 10;
|
private const int _FieldSpace = 10;
|
||||||
private float _FieldSize = 100;
|
private float _FieldSize = 100;
|
||||||
|
|
||||||
|
private int idPlayer1 = 0;
|
||||||
|
private int idPlayer2 = 0;
|
||||||
|
|
||||||
|
private static readonly Random random = new Random();
|
||||||
|
private static readonly object syncLock = new object();
|
||||||
|
|
||||||
private int _OldSelectedField = -1;
|
private int _OldSelectedField = -1;
|
||||||
|
|
||||||
private int[,] _Possibilities;
|
private int[,] _Possibilities;
|
||||||
@@ -92,9 +101,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
_ThemeButtons = new string[]
|
_ThemeButtons = new string[]
|
||||||
{
|
{
|
||||||
_ButtonNextRound, _ButtonBack, _ButtonExit, _ButtonPopupYes, _ButtonPopupNo, _ButtonField, _ButtonJokerRandomT1, _ButtonJokerRandomT2, _ButtonJokerRetryT1,
|
_ButtonNextRound, _ButtonBack, _ButtonExit, _ButtonPopupYes, _ButtonPopupNo, _ButtonField, _ButtonJokerRandomT1, _ButtonJokerRandomT2, _ButtonJokerRetryT1,
|
||||||
_ButtonJokerRetryT2
|
_ButtonJokerRetryT2, _ButtonSwitchPlayerT1, _ButtonSwitchPlayerT2
|
||||||
};
|
};
|
||||||
_ThemeStatics = new string[] {_StaticPopupBG, _StaticAvatarT1, _StaticAvatarT2, _StaticTeam1, _StaticTeam2};
|
_ThemeStatics = new string[] { _StaticPopupBG, _StaticAvatarT1, _StaticAvatarT2, _StaticTeam1, _StaticTeam2 };
|
||||||
|
|
||||||
var texts = new List<string>();
|
var texts = new List<string>();
|
||||||
texts.AddRange(_EqualizerTeam);
|
texts.AddRange(_EqualizerTeam);
|
||||||
@@ -116,7 +125,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
{
|
{
|
||||||
base.HandleInput(keyEvent);
|
base.HandleInput(keyEvent);
|
||||||
|
|
||||||
if (keyEvent.KeyPressed) {}
|
if (keyEvent.KeyPressed) { }
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
switch (keyEvent.Key)
|
switch (keyEvent.Key)
|
||||||
@@ -178,6 +187,10 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
_UseJoker(0, 1);
|
_UseJoker(0, 1);
|
||||||
if (_Buttons[_ButtonJokerRetryT2].Selected)
|
if (_Buttons[_ButtonJokerRetryT2].Selected)
|
||||||
_UseJoker(1, 1);
|
_UseJoker(1, 1);
|
||||||
|
if (_Buttons[_ButtonSwitchPlayerT1].Selected)
|
||||||
|
_ChangePlayer(0, true);
|
||||||
|
if (_Buttons[_ButtonSwitchPlayerT2].Selected)
|
||||||
|
_ChangePlayer(1, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -243,6 +256,10 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
_UseJoker(0, 1);
|
_UseJoker(0, 1);
|
||||||
if (_Buttons[_ButtonJokerRetryT2].Selected)
|
if (_Buttons[_ButtonJokerRetryT2].Selected)
|
||||||
_UseJoker(1, 1);
|
_UseJoker(1, 1);
|
||||||
|
if (_Buttons[_ButtonSwitchPlayerT1].Selected)
|
||||||
|
_ChangePlayer(0, true);
|
||||||
|
if (_Buttons[_ButtonSwitchPlayerT2].Selected)
|
||||||
|
_ChangePlayer(1, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -269,7 +286,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
_ShowPopup(false);
|
_ShowPopup(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mouseEvent.Wheel != 0) {}
|
if (mouseEvent.Wheel != 0) { }
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -323,6 +340,8 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
_Buttons[_ButtonJokerRandomT2].Visible = false;
|
_Buttons[_ButtonJokerRandomT2].Visible = false;
|
||||||
_Buttons[_ButtonJokerRetryT1].Visible = false;
|
_Buttons[_ButtonJokerRetryT1].Visible = false;
|
||||||
_Buttons[_ButtonJokerRetryT2].Visible = false;
|
_Buttons[_ButtonJokerRetryT2].Visible = false;
|
||||||
|
_Buttons[_ButtonSwitchPlayerT1].Visible = false;
|
||||||
|
_Buttons[_ButtonSwitchPlayerT2].Visible = false;
|
||||||
_Buttons[_ButtonNextRound].Visible = false;
|
_Buttons[_ButtonNextRound].Visible = false;
|
||||||
_Texts[_TextFinishMessage].Visible = false;
|
_Texts[_TextFinishMessage].Visible = false;
|
||||||
}
|
}
|
||||||
@@ -357,7 +376,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
for (int i = 0; i < 2; i++)
|
for (int i = 0; i < 2; i++)
|
||||||
{
|
{
|
||||||
CBase.Record.AnalyzeBuffer(i);
|
CBase.Record.AnalyzeBuffer(i);
|
||||||
_Equalizers["EqualizerTeam" + (i+1)].Update(CBase.Record.ToneWeigth(i), CBase.Record.GetMaxVolume(i));
|
_Equalizers["EqualizerTeam" + (i + 1)].Update(CBase.Record.ToneWeigth(i), CBase.Record.GetMaxVolume(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -453,28 +472,11 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
{
|
{
|
||||||
if (!jokerUsed)
|
if (!jokerUsed)
|
||||||
{
|
{
|
||||||
int singerTeam1 = 0;
|
_ChangePlayer();
|
||||||
int singerTeam2 = 0;
|
|
||||||
|
|
||||||
if (_PartyMode.GameData.PlayerTeam1.Count > 0)
|
|
||||||
{
|
|
||||||
singerTeam1 = _PartyMode.GameData.PlayerTeam1[0];
|
|
||||||
_PartyMode.GameData.PlayerTeam1.RemoveAt(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_PartyMode.GameData.PlayerTeam2.Count > 0)
|
|
||||||
{
|
|
||||||
singerTeam2 = _PartyMode.GameData.PlayerTeam2[0];
|
|
||||||
_PartyMode.GameData.PlayerTeam2.RemoveAt(0);
|
|
||||||
}
|
|
||||||
_PartyMode.GameData.Rounds[_PartyMode.GameData.FieldNr].SingerTeam1 = singerTeam1;
|
|
||||||
_PartyMode.GameData.Rounds[_PartyMode.GameData.FieldNr].SingerTeam2 = singerTeam2;
|
|
||||||
|
|
||||||
_UpdatePlayerInformation();
|
|
||||||
}
|
}
|
||||||
_PartyMode.UpdateSongList();
|
_PartyMode.UpdateSongList();
|
||||||
int[] songIDs = new int[_PartyMode.GameData.GameMode == EGameMode.TR_GAMEMODE_MEDLEY ? _PartyMode.GameData.NumMedleySongs : 1];
|
int[] songIDs = new int[_PartyMode.GameData.GameMode == EGameMode.TR_GAMEMODE_MEDLEY ? _PartyMode.GameData.NumMedleySongs : 1];
|
||||||
for(int i = 0; i < songIDs.Length; i++)
|
for (int i = 0; i < songIDs.Length; i++)
|
||||||
{
|
{
|
||||||
songIDs[i] = _PartyMode.GameData.Songs[0];
|
songIDs[i] = _PartyMode.GameData.Songs[0];
|
||||||
_PartyMode.GameData.Songs.RemoveAt(0);
|
_PartyMode.GameData.Songs.RemoveAt(0);
|
||||||
@@ -485,6 +487,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
_PartyMode.GameData.Rounds[_PartyMode.GameData.FieldNr].SongIDs = songIDs;
|
_PartyMode.GameData.Rounds[_PartyMode.GameData.FieldNr].SongIDs = songIDs;
|
||||||
_UpdateFieldContents();
|
_UpdateFieldContents();
|
||||||
_UpdateJokerButtons();
|
_UpdateJokerButtons();
|
||||||
|
_UpdateSwitchPlayerButtons();
|
||||||
|
|
||||||
_Buttons[_ButtonNextRound].Visible = true;
|
_Buttons[_ButtonNextRound].Visible = true;
|
||||||
_Buttons[_ButtonExit].Visible = true;
|
_Buttons[_ButtonExit].Visible = true;
|
||||||
@@ -519,6 +522,49 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
CBase.BackgroundMusic.LoadPreview(song);
|
CBase.BackgroundMusic.LoadPreview(song);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int _GetRamdom(int max)
|
||||||
|
{
|
||||||
|
lock (syncLock)
|
||||||
|
{
|
||||||
|
return random.Next(max+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void _ChangePlayer(int teamNr = -1, bool next = false)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (_PartyMode.GameData.ProfileIDsTeam1.Count > 0 && (teamNr == 0 || teamNr == -1))
|
||||||
|
{
|
||||||
|
idPlayer1 = _GetTeamPlayer(idPlayer1, _PartyMode.GameData.ProfileIDsTeam1.Count, next);
|
||||||
|
_PartyMode.GameData.Rounds[_PartyMode.GameData.FieldNr].SingerTeam1 = idPlayer1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_PartyMode.GameData.ProfileIDsTeam2.Count > 0 && (teamNr == 1 || teamNr == -1))
|
||||||
|
{
|
||||||
|
idPlayer2 = _GetTeamPlayer(idPlayer2, _PartyMode.GameData.ProfileIDsTeam2.Count, next);
|
||||||
|
_PartyMode.GameData.Rounds[_PartyMode.GameData.FieldNr].SingerTeam2 = idPlayer2;
|
||||||
|
}
|
||||||
|
|
||||||
|
_UpdatePlayerInformation();
|
||||||
|
}
|
||||||
|
|
||||||
|
private int _GetTeamPlayer(int idPlayer, int teamCount, bool next)
|
||||||
|
{
|
||||||
|
if (next)
|
||||||
|
{
|
||||||
|
idPlayer++;
|
||||||
|
if (idPlayer >= _PartyMode.GameData.ProfileIDsTeam1.Count)
|
||||||
|
{
|
||||||
|
idPlayer = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
idPlayer = _GetRamdom(_PartyMode.GameData.ProfileIDsTeam1.Count - 1);
|
||||||
|
}
|
||||||
|
return idPlayer;
|
||||||
|
}
|
||||||
|
|
||||||
private void _UpdatePlayerInformation()
|
private void _UpdatePlayerInformation()
|
||||||
{
|
{
|
||||||
_Texts[_TextNextPlayerT1].Visible = true;
|
_Texts[_TextNextPlayerT1].Visible = true;
|
||||||
@@ -543,7 +589,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
{
|
{
|
||||||
switch (jokerNum)
|
switch (jokerNum)
|
||||||
{
|
{
|
||||||
//Random-Joker
|
//Random-Joker
|
||||||
case 0:
|
case 0:
|
||||||
if (_PartyMode.GameData.NumJokerRandom[teamNr] > 0)
|
if (_PartyMode.GameData.NumJokerRandom[teamNr] > 0)
|
||||||
{
|
{
|
||||||
@@ -552,7 +598,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
//Retry-Joker
|
//Retry-Joker
|
||||||
case 1:
|
case 1:
|
||||||
if (_PartyMode.GameData.NumJokerRetry[teamNr] > 0 && _PartyMode.GameData.CurrentRoundNr > 1)
|
if (_PartyMode.GameData.NumJokerRetry[teamNr] > 0 && _PartyMode.GameData.CurrentRoundNr > 1)
|
||||||
{
|
{
|
||||||
@@ -596,6 +642,16 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
_Buttons[_ButtonJokerRetryT2].Selectable = _PartyMode.GameData.NumJokerRetry[1] > 0 && _PartyMode.GameData.CurrentRoundNr > 1;
|
_Buttons[_ButtonJokerRetryT2].Selectable = _PartyMode.GameData.NumJokerRetry[1] > 0 && _PartyMode.GameData.CurrentRoundNr > 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void _UpdateSwitchPlayerButtons()
|
||||||
|
{
|
||||||
|
if (_PartyMode.GameData.SwitchPlayer == EOffOn.TR_CONFIG_ON)
|
||||||
|
{
|
||||||
|
_Buttons[_ButtonSwitchPlayerT1].Visible = true;
|
||||||
|
_Buttons[_ButtonSwitchPlayerT2].Visible = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private void _NextRound()
|
private void _NextRound()
|
||||||
{
|
{
|
||||||
_PartyMode.Next();
|
_PartyMode.Next();
|
||||||
@@ -627,7 +683,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
private void _BuildWinnerPossibilities()
|
private void _BuildWinnerPossibilities()
|
||||||
{
|
{
|
||||||
var numOneRow = (int)Math.Sqrt(_PartyMode.GameData.NumFields);
|
var numOneRow = (int)Math.Sqrt(_PartyMode.GameData.NumFields);
|
||||||
_Possibilities = new int[(numOneRow * 2) + 2,numOneRow];
|
_Possibilities = new int[(numOneRow * 2) + 2, numOneRow];
|
||||||
for (int i = 0; i < _Possibilities.GetLength(0); i++)
|
for (int i = 0; i < _Possibilities.GetLength(0); i++)
|
||||||
{
|
{
|
||||||
if (i < numOneRow)
|
if (i < numOneRow)
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using VocaluxeLib.Menu;
|
using VocaluxeLib.Menu;
|
||||||
|
|
||||||
namespace VocaluxeLib.PartyModes.TicTacToe
|
namespace VocaluxeLib.PartyModes.TicTacToe
|
||||||
@@ -76,11 +77,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
|||||||
_PartyMode.GameData.ProfileIDsTeam1 = _TeamList[0];
|
_PartyMode.GameData.ProfileIDsTeam1 = _TeamList[0];
|
||||||
_PartyMode.GameData.ProfileIDsTeam2 = _TeamList[1];
|
_PartyMode.GameData.ProfileIDsTeam2 = _TeamList[1];
|
||||||
}
|
}
|
||||||
if (_NumPlayerTeams.Length == 2)
|
_PartyMode.GameData.NumPlayerTeam1 = _PartyMode.GameData.ProfileIDsTeam1.Count;
|
||||||
{
|
_PartyMode.GameData.NumPlayerTeam2 = _PartyMode.GameData.ProfileIDsTeam2.Count;
|
||||||
_PartyMode.GameData.NumPlayerTeam1 = _NumPlayerTeams[0];
|
|
||||||
_PartyMode.GameData.NumPlayerTeam2 = _NumPlayerTeams[1];
|
|
||||||
}
|
|
||||||
_PartyMode.Next();
|
_PartyMode.Next();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 628 B After Width: | Height: | Size: 8.4 KiB |
@@ -0,0 +1,5 @@
|
|||||||
|
100% royalty-free icons from flaticons.net
|
||||||
|
|
||||||
|
https://flaticons.net
|
||||||
|
|
||||||
|
For: personal, commercial use, without attribution
|
||||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 268 KiB After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 628 B |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 268 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 160 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -77,6 +77,7 @@ before_build:
|
|||||||
SonarScanner.MSBuild.exe begin `
|
SonarScanner.MSBuild.exe begin `
|
||||||
/k:"Vocaluxe" `
|
/k:"Vocaluxe" `
|
||||||
/o:"vocaluxe" `
|
/o:"vocaluxe" `
|
||||||
|
/d:sonar.exclusions="Vocaluxe/Website/**/*" `
|
||||||
/d:sonar.host.url="https://sonarcloud.io" `
|
/d:sonar.host.url="https://sonarcloud.io" `
|
||||||
/v:"$Env:GIT_VERSION_TAG" `
|
/v:"$Env:GIT_VERSION_TAG" `
|
||||||
/d:sonar.token="$Env:SonarQubeToken" `
|
/d:sonar.token="$Env:SonarQubeToken" `
|
||||||
|
|||||||