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);
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<PlayerData>();
botTypesInGame = new List<PlayerType>();
allPlayerTypes = new List<PlayerType>();
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<PlayerType, Dictionary<int, BotMove>>();
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<PlayerType, PlayerGameData>();
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<PlayerPawn>();
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)

View File

@ -34,8 +34,8 @@ public class DiceRollHandler : MonoBehaviour
SoundManager soundManager = InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>();
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<int> onComplete)

View File

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