diff --git a/Assets/Scripts/Gameplay/GameplayManager.cs b/Assets/Scripts/Gameplay/GameplayManager.cs index 317ab3f..9cb4f1a 100644 --- a/Assets/Scripts/Gameplay/GameplayManager.cs +++ b/Assets/Scripts/Gameplay/GameplayManager.cs @@ -94,6 +94,8 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader }); } + tilesManager.InitTilesData(); + playerBaseHandler.InitPlayerTypes(allPlayerTypes); InitCurrentGamePlayerInfo(); @@ -102,9 +104,9 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader public void InitPlayerTypesForBotMatch(PlayerData selectedPlayerData, int botCount) { - playerDatas.Clear(); - botTypesInGame.Clear(); - allPlayerTypes.Clear(); + playerDatas = new List(); + botTypesInGame = new List(); + allPlayerTypes = new List(); TotalPlayersInGame = botCount + 1; AssignBotTypes(selectedPlayerData.playerType, botCount); @@ -123,6 +125,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader } } + tilesManager.InitTilesData(); playerBaseHandler.InitPlayerTypes(allPlayerTypes); InitCurrentGamePlayerInfo(); InitBotRuntimeData(); @@ -135,7 +138,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader private void InitBotRuntimeData() { - botRuntimeMovementData.Clear(); + botRuntimeMovementData = new Dictionary>(); foreach (var botType in botTypesInGame) { @@ -202,7 +205,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader currentPlayerTypeTurn = allPlayerTypes[currentPlayerTurnIndex]; // initialize the board based on the player types - playerGameDatasDict.Clear(); + playerGameDatasDict = new Dictionary(); foreach (PlayerGameData playerGameData in playerGameDatas) { @@ -447,7 +450,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader Debug.Log($"Tile Index :: LUDO :: rolledVal: {rolledVal} :: {currentPlayerTypeTurn}"); diceRolledValue = rolledVal; diceText.text = $"{diceRolledValue}"; - availPlayers.Clear(); + availPlayers = new List(); if (rolledVal == Ludo_3D_Constants.Max_Dice_Rolls) { @@ -576,8 +579,8 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader private void HandleDiceRoll() { - diceRollHandler.HandleDiceViewForBot((rollVal) => RollDiceForBot(rollVal)); - // diceRollHandler.HandleDiceViewForBot((rollVal) => RollDiceForBot(rollVal), diceValue == 0 ? UnityEngine.Random.Range(1, Ludo_3D_Constants.Max_Dice_Rolls + 1) : diceValue); + // diceRollHandler.HandleDiceViewForBot((rollVal) => RollDiceForBot(rollVal)); + diceRollHandler.HandleDiceViewForBot((rollVal) => RollDiceForBot(rollVal), diceValue == 0 ? UnityEngine.Random.Range(1, Ludo_3D_Constants.Max_Dice_Rolls + 1) : diceValue); } public void OnPawnSelected(PlayerPawn playerPawn) diff --git a/Assets/Scripts/Input/DiceRollHandler.cs b/Assets/Scripts/Input/DiceRollHandler.cs index 0f02e47..10f4c7b 100644 --- a/Assets/Scripts/Input/DiceRollHandler.cs +++ b/Assets/Scripts/Input/DiceRollHandler.cs @@ -34,8 +34,8 @@ public class DiceRollHandler : MonoBehaviour SoundManager soundManager = InterfaceManager.Instance?.GetInterfaceInstance(); soundManager?.PlayGameSoundClip(SoundType.Dice); - // OnUserDiceRollComplete(GetDiceTestVal()); - diceView.Roll(onComplete: (rolledVal) => OnUserDiceRollComplete(rolledVal), false); + OnUserDiceRollComplete(GetDiceTestVal()); + // diceView.Roll(onComplete: (rolledVal) => OnUserDiceRollComplete(rolledVal), false); } public void HandleDiceViewForBot(Action onComplete) diff --git a/Assets/Scripts/Tile/TilesManager.cs b/Assets/Scripts/Tile/TilesManager.cs index 3dfbcd3..b6c728e 100644 --- a/Assets/Scripts/Tile/TilesManager.cs +++ b/Assets/Scripts/Tile/TilesManager.cs @@ -28,7 +28,10 @@ public class TilesManager : MonoBehaviour, IBootLoader, IDataLoader, IBase public void InitializeData() { gameplayManager = InterfaceManager.Instance.GetInterfaceInstance(); + } + public void InitTilesData() + { foreach (var tileData in tileDatas) { if (gameplayManager.PlayerTypesCollection.Contains(tileData.playerType))