Compare commits

..

No commits in common. "273c86d5b9a3ac94d91c1543bada37e128d0ab42" and "f12bd32c554874c61ca27e2156c8e8c442f6c7cf" have entirely different histories.

View File

@ -745,8 +745,6 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
return; return;
} }
currentPlayerTurnIndex = allPlayerTypes.FindIndex(type => type == currentPlayerTypeTurn);
if (currentPlayerTypeTurn == allPlayerTypes[allPlayerTypes.Count - 1]) if (currentPlayerTypeTurn == allPlayerTypes[allPlayerTypes.Count - 1])
{ {
currentPlayerTurnIndex = 0; currentPlayerTurnIndex = 0;
@ -990,36 +988,41 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
else else
{ {
DisplayPlayerCountOnTile(playerPawn, true); DisplayPlayerCountOnTile(playerPawn, true);
Debug.Log($"CurrentTileIndex: {playerPawn.CurrentTileIndex} == lastIndex: {tilesManager.GetFinishingTileDataLength(currentPlayerTypeTurn) - 1}");
if (playerPawn.CurrentTileIndex == tilesManager.GetFinishingTileDataLength(currentPlayerTypeTurn) - 1) if (playerPawn.CurrentTileIndex == tilesManager.GetFinishingTileDataLength(currentPlayerTypeTurn) - 1)
{ {
UpdatePlayerState(playerPawn, PlayerState.HasFinished); UpdatePlayerState(playerPawn, PlayerState.HasFinished);
playerGameDatasDict[currentPlayerTypeTurn].totalPawnsFinished++; playerGameDatasDict[currentPlayerTypeTurn].totalPawnsFinished++;
Debug.Log($"totalPawnsFinished: {playerGameDatasDict[currentPlayerTypeTurn].totalPawnsFinished}, playerPawnsDict.Count: {playerGameDatasDict[currentPlayerTypeTurn].playerPawnsDict.Count}");
if (playerGameDatasDict[currentPlayerTypeTurn].totalPawnsFinished == playerGameDatasDict[currentPlayerTypeTurn].playerPawnsDict.Count) if (playerGameDatasDict[currentPlayerTypeTurn].totalPawnsFinished == playerGameDatasDict[currentPlayerTypeTurn].playerPawnsDict.Count)
{ {
CanRollDiceAgain = false; CanRollDiceAgain = false;
var playerTypeToRemove = currentPlayerTypeTurn; if (allPlayerTypes.Contains(currentPlayerTypeTurn))
SwitchPlayer();
if (allPlayerTypes.Contains(playerTypeToRemove))
{ {
allPlayerTypes.Remove(playerTypeToRemove); allPlayerTypes.Remove(currentPlayerTypeTurn);
playerDatas.FirstOrDefault(data => data.playerType == playerTypeToRemove).ranking = TotalPlayersInGame - allPlayerTypes.Count; Debug.Log($"currentPlayerTypeTurn: {currentPlayerTypeTurn}");
Debug.Log($"playerDatas.FirstOrDefault(data => data.playerType == currentPlayerTypeTurn): {playerDatas.FirstOrDefault(data => data.playerType == currentPlayerTypeTurn)}");
playerDatas.FirstOrDefault(data => data.playerType == currentPlayerTypeTurn).ranking = TotalPlayersInGame - allPlayerTypes.Count;
} }
if (allPlayerTypes.Count == 1) if (allPlayerTypes.Count == 1)
{ {
// Game is over // Game is over
var lastUnfinishingPlayerType = allPlayerTypes[0]; var lastFinishingPlayerType = allPlayerTypes[0];
allPlayerTypes.RemoveAt(0); allPlayerTypes.RemoveAt(0);
playerDatas.FirstOrDefault(data => data.playerType == lastUnfinishingPlayerType).ranking = TotalPlayersInGame - allPlayerTypes.Count; playerDatas.FirstOrDefault(data => data.playerType == lastFinishingPlayerType).ranking = TotalPlayersInGame - allPlayerTypes.Count;
// Show Game Over panel // Show Game Over panel
gameManager.OnGameStateChanged(GameState.GameOver); gameManager.OnGameStateChanged(GameState.GameOver);
return; return;
} }
SwitchPlayer();
Debug.Log($"PlayerTypes: {allPlayerTypes.Count}");
} }
else else
{ {