Created new allocation for game data.

This commit is contained in:
alantrix0012 2026-02-02 21:20:41 +05:30
parent 8132704374
commit 10a6f27a2a

View File

@ -232,8 +232,18 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
Debug.Log($"playerGameData.playerType: {playerGameData.playerType}");
playerGameDatasDict.Add(playerGameData.playerType, playerGameData);
playerGameDatasDict[playerGameData.playerType].playerPawnsDict = new Dictionary<int, PlayerPawn>();
playerGameDatasDict.Add(
playerGameData.playerType,
new PlayerGameData
{
playerType = playerGameData.playerType,
startIndex = playerGameData.startIndex,
endIndex = playerGameData.endIndex,
playersParent = playerGameData.playersParent,
playerPawnsDict = new Dictionary<int, PlayerPawn>(),
totalPawnsInHome = playerGameData.totalPawnsInHome,
totalPawnsFinished = playerGameData.totalPawnsFinished
});
foreach (Transform playerPawnChild in playerGameData.playersParent)
{
@ -753,6 +763,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
UpdateActivePlayersAndSetDisplay(false);
Debug.Log($"after SwitchPlayer availPlayers: {availPlayers.Count}, playerPawn: {playerPawn}");
Debug.Log($"after allPlayerTypes.Count: {allPlayerTypes.Count}");
if (allPlayerTypes.Count == 0)
{
@ -781,6 +792,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
UpdateActivePlayersAndSetDisplay(true);
}
Debug.Log($"currentPlayerTurnIndex: {currentPlayerTurnIndex}");
Debug.Log($"CurrentPlayerTurn: {currentPlayerTypeTurn}");
SetCanRollDiceForUser(gameModeHandler.CurrentGameModeType != GameModeType.Bot || !botTypesInGame.Contains(currentPlayerTypeTurn));
@ -956,12 +968,16 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
UpdatePlayerState(playerPawn, PlayerState.HasFinished);
playerGameDatasDict[currentPlayerTypeTurn].totalPawnsFinished++;
Debug.Log($"playerGameDatasDict[currentPlayerTypeTurn].totalPawnsFinished: {playerGameDatasDict[currentPlayerTypeTurn].totalPawnsFinished}");
Debug.Log($"playerGameDatasDict[currentPlayerTypeTurn].playerPawnsDict.Count: {playerGameDatasDict[currentPlayerTypeTurn].playerPawnsDict.Count}");
if (playerGameDatasDict[currentPlayerTypeTurn].totalPawnsFinished == playerGameDatasDict[currentPlayerTypeTurn].playerPawnsDict.Count)
{
CanRollDiceAgain = false;
var playerTypeToRemove = currentPlayerTypeTurn;
allPlayerTypes.ForEach(type => Debug.Log($"before allPlayerTypes: {type}"));
SwitchPlayer();
allPlayerTypes.ForEach(type => Debug.Log($"after allPlayerTypes: {type}"));
if (allPlayerTypes.Contains(playerTypeToRemove))
{