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