Null ref fixes.

This commit is contained in:
Ashby Issac 2026-01-30 22:06:51 +05:30
parent b002f8e021
commit 1113352c7c
3 changed files with 16 additions and 10 deletions

View File

@ -94,6 +94,8 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
}); });
} }
tilesManager.InitTilesData();
playerBaseHandler.InitPlayerTypes(allPlayerTypes); playerBaseHandler.InitPlayerTypes(allPlayerTypes);
InitCurrentGamePlayerInfo(); InitCurrentGamePlayerInfo();
@ -102,9 +104,9 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
public void InitPlayerTypesForBotMatch(PlayerData selectedPlayerData, int botCount) public void InitPlayerTypesForBotMatch(PlayerData selectedPlayerData, int botCount)
{ {
playerDatas.Clear(); playerDatas = new List<PlayerData>();
botTypesInGame.Clear(); botTypesInGame = new List<PlayerType>();
allPlayerTypes.Clear(); allPlayerTypes = new List<PlayerType>();
TotalPlayersInGame = botCount + 1; TotalPlayersInGame = botCount + 1;
AssignBotTypes(selectedPlayerData.playerType, botCount); AssignBotTypes(selectedPlayerData.playerType, botCount);
@ -123,6 +125,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
} }
} }
tilesManager.InitTilesData();
playerBaseHandler.InitPlayerTypes(allPlayerTypes); playerBaseHandler.InitPlayerTypes(allPlayerTypes);
InitCurrentGamePlayerInfo(); InitCurrentGamePlayerInfo();
InitBotRuntimeData(); InitBotRuntimeData();
@ -135,7 +138,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
private void InitBotRuntimeData() private void InitBotRuntimeData()
{ {
botRuntimeMovementData.Clear(); botRuntimeMovementData = new Dictionary<PlayerType, Dictionary<int, BotMove>>();
foreach (var botType in botTypesInGame) foreach (var botType in botTypesInGame)
{ {
@ -202,7 +205,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
currentPlayerTypeTurn = allPlayerTypes[currentPlayerTurnIndex]; currentPlayerTypeTurn = allPlayerTypes[currentPlayerTurnIndex];
// initialize the board based on the player types // initialize the board based on the player types
playerGameDatasDict.Clear(); playerGameDatasDict = new Dictionary<PlayerType, PlayerGameData>();
foreach (PlayerGameData playerGameData in playerGameDatas) foreach (PlayerGameData playerGameData in playerGameDatas)
{ {
@ -447,7 +450,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
Debug.Log($"Tile Index :: LUDO :: rolledVal: {rolledVal} :: {currentPlayerTypeTurn}"); Debug.Log($"Tile Index :: LUDO :: rolledVal: {rolledVal} :: {currentPlayerTypeTurn}");
diceRolledValue = rolledVal; diceRolledValue = rolledVal;
diceText.text = $"{diceRolledValue}"; diceText.text = $"{diceRolledValue}";
availPlayers.Clear(); availPlayers = new List<PlayerPawn>();
if (rolledVal == Ludo_3D_Constants.Max_Dice_Rolls) if (rolledVal == Ludo_3D_Constants.Max_Dice_Rolls)
{ {
@ -576,8 +579,8 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
private void HandleDiceRoll() private void HandleDiceRoll()
{ {
diceRollHandler.HandleDiceViewForBot((rollVal) => RollDiceForBot(rollVal)); // 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), diceValue == 0 ? UnityEngine.Random.Range(1, Ludo_3D_Constants.Max_Dice_Rolls + 1) : diceValue);
} }
public void OnPawnSelected(PlayerPawn playerPawn) public void OnPawnSelected(PlayerPawn playerPawn)

View File

@ -34,8 +34,8 @@ public class DiceRollHandler : MonoBehaviour
SoundManager soundManager = InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>(); SoundManager soundManager = InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>();
soundManager?.PlayGameSoundClip(SoundType.Dice); soundManager?.PlayGameSoundClip(SoundType.Dice);
// OnUserDiceRollComplete(GetDiceTestVal()); OnUserDiceRollComplete(GetDiceTestVal());
diceView.Roll(onComplete: (rolledVal) => OnUserDiceRollComplete(rolledVal), false); // diceView.Roll(onComplete: (rolledVal) => OnUserDiceRollComplete(rolledVal), false);
} }
public void HandleDiceViewForBot(Action<int> onComplete) public void HandleDiceViewForBot(Action<int> onComplete)

View File

@ -28,7 +28,10 @@ public class TilesManager : MonoBehaviour, IBootLoader, IDataLoader, IBase
public void InitializeData() public void InitializeData()
{ {
gameplayManager = InterfaceManager.Instance.GetInterfaceInstance<GameplayManager>(); gameplayManager = InterfaceManager.Instance.GetInterfaceInstance<GameplayManager>();
}
public void InitTilesData()
{
foreach (var tileData in tileDatas) foreach (var tileData in tileDatas)
{ {
if (gameplayManager.PlayerTypesCollection.Contains(tileData.playerType)) if (gameplayManager.PlayerTypesCollection.Contains(tileData.playerType))