Fix : gameflow logic

This commit is contained in:
alantrix0012 2026-02-02 17:21:38 +05:30
parent 1897a36a88
commit 318a34e192
4 changed files with 21 additions and 11 deletions

View File

@ -8462,7 +8462,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
isDebugTest: 1 isDebugTest: 1
diceRollHandler: {fileID: 1013177415} diceRollHandler: {fileID: 1013177415}
diceValue: 6 diceValue: 0
maxDiceSixRollCounter: 2 maxDiceSixRollCounter: 2
totalStepsForCharacter: 57 totalStepsForCharacter: 57
diceText: {fileID: 953941044} diceText: {fileID: 953941044}
@ -23841,7 +23841,7 @@ GameObject:
- component: {fileID: 5608193481667689438} - component: {fileID: 5608193481667689438}
- component: {fileID: 5608193481667689409} - component: {fileID: 5608193481667689409}
m_Layer: 5 m_Layer: 5
m_Name: Menu HUD Screen m_Name: MainMenuScreen
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
@ -24581,7 +24581,7 @@ GameObject:
- component: {fileID: 5608193481910428234} - component: {fileID: 5608193481910428234}
- component: {fileID: 5608193481910428235} - component: {fileID: 5608193481910428235}
m_Layer: 5 m_Layer: 5
m_Name: MainMenuScreen m_Name: MenuScreens
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
@ -24609,6 +24609,8 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
screenType: 6 screenType: 6
shouldFade: 0 shouldFade: 0
playBtn: {fileID: 0}
closeBtn: {fileID: 0}
--- !u!224 &5608193481924487018 --- !u!224 &5608193481924487018
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -52,6 +52,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
private TilesManager tilesManager; private TilesManager tilesManager;
private UIManager uIManager; private UIManager uIManager;
private GameManager gameManager; private GameManager gameManager;
private GameModeHandler gameModeHandler;
private int diceRolledValue; private int diceRolledValue;
@ -85,12 +86,13 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
tilesManager = InterfaceManager.Instance.GetInterfaceInstance<TilesManager>(); tilesManager = InterfaceManager.Instance.GetInterfaceInstance<TilesManager>();
uIManager = InterfaceManager.Instance.GetInterfaceInstance<UIManager>(); uIManager = InterfaceManager.Instance.GetInterfaceInstance<UIManager>();
gameManager = InterfaceManager.Instance.GetInterfaceInstance<GameManager>(); gameManager = InterfaceManager.Instance.GetInterfaceInstance<GameManager>();
gameModeHandler = InterfaceManager.Instance.GetInterfaceInstance<GameModeHandler>();
} }
public void InitPlayerTypesForPVP(List<PlayerType> types, List<string> names) public void InitPlayerTypesForPVP(List<PlayerType> types, List<string> names)
{ {
allPlayerTypes = new List<PlayerType>(types); allPlayerTypes = new List<PlayerType>(types);
playerDatas.Clear(); playerDatas = new List<PlayerData>();
TotalPlayersInGame = types.Count; TotalPlayersInGame = types.Count;
@ -504,7 +506,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
Debug.Log($"### AreAllPawnsInFinishingPath"); Debug.Log($"### AreAllPawnsInFinishingPath");
if (AreAllPawnsInFinishingPath()) if (AreAllPawnsInFinishingPath())
{ {
SetCanRollDiceForUser(!botTypesInGame.Contains(currentPlayerTypeTurn)); SetCanRollDiceForUser(gameModeHandler.CurrentGameModeType != GameModeType.Bot || !botTypesInGame.Contains(currentPlayerTypeTurn));
return; return;
} }
@ -783,16 +785,16 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
UpdateActivePlayersAndSetDisplay(); UpdateActivePlayersAndSetDisplay();
} }
SetCanRollDiceForUser(!botTypesInGame.Contains(currentPlayerTypeTurn));
Debug.Log($"CurrentPlayerTurn: {currentPlayerTypeTurn}"); Debug.Log($"CurrentPlayerTurn: {currentPlayerTypeTurn}");
SetCanRollDiceForUser(gameModeHandler.CurrentGameModeType != GameModeType.Bot || !botTypesInGame.Contains(currentPlayerTypeTurn));
SetCurrentSelectedPointer(); SetCurrentSelectedPointer();
pointerMeshRend.material = turnMat; pointerMeshRend.material = turnMat;
// pointerMeshRend.materials[0] = turnMat; // pointerMeshRend.materials[0] = turnMat;
Debug.Log($"botTypesInGame.Contains(currentPlayerTypeTurn): {botTypesInGame.Contains(currentPlayerTypeTurn)}"); // Debug.Log($"botTypesInGame.Contains(currentPlayerTypeTurn): {botTypesInGame.Contains(currentPlayerTypeTurn)}");
if (botTypesInGame.Contains(currentPlayerTypeTurn)) // TODO :: Double check calling of the function if (gameModeHandler.CurrentGameModeType == GameModeType.Bot && botTypesInGame.Contains(currentPlayerTypeTurn)) // TODO :: Double check calling of the function
{ {
Debug.Log($"Invoking RollDiceForBot"); Debug.Log($"Invoking RollDiceForBot");
Invoke(nameof(HandleDiceRoll), 1f); Invoke(nameof(HandleDiceRoll), 1f);
@ -1103,13 +1105,14 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
ResetGameRestartData(); ResetGameRestartData();
playerDatas = null; playerDatas = null;
botTypesInGame = null;
allPlayerTypes = null; allPlayerTypes = null;
botRuntimeMovementData = null;
playerGameDatasDict = null; playerGameDatasDict = null;
playerDatas = null; playerDatas = null;
availPlayers = null; availPlayers = null;
botTypesInGame = null;
botRuntimeMovementData = null;
} }
public void ResetGameRestartData() public void ResetGameRestartData()

View File

@ -35,6 +35,7 @@ public class GameManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
public void OnGameStateChanged(GameState gameState) public void OnGameStateChanged(GameState gameState)
{ {
GameState = gameState; GameState = gameState;
Debug.Log($"OnGameStateChanged: {gameState}");
switch (gameState) switch (gameState)
{ {
case GameState.InMenu: case GameState.InMenu:

View File

@ -39,6 +39,7 @@ public class PvPModePopup : PopupBase
private ScreenManager screenManager; private ScreenManager screenManager;
private SoundManager soundManager; private SoundManager soundManager;
private GameManager gameManager;
private GameModeHandler gameModeHandler; private GameModeHandler gameModeHandler;
private int selectedPlayerCount; private int selectedPlayerCount;
@ -151,6 +152,9 @@ public class PvPModePopup : PopupBase
gameModeHandler = gameModeHandler == null ? InterfaceManager.Instance.GetInterfaceInstance<GameModeHandler>() : gameModeHandler; gameModeHandler = gameModeHandler == null ? InterfaceManager.Instance.GetInterfaceInstance<GameModeHandler>() : gameModeHandler;
gameModeHandler.InitPVPModeData(playerNameMap.Keys.ToList(), playerNameMap.Values.ToList()); gameModeHandler.InitPVPModeData(playerNameMap.Keys.ToList(), playerNameMap.Values.ToList());
gameManager = gameManager == null ? InterfaceManager.Instance.GetInterfaceInstance<GameManager>() : gameManager;
gameManager.OnGameStateChanged(GameState.InGame);
} }
private void OnClick_SwitchButton() private void OnClick_SwitchButton()