Added menu flow in game over popup.

This commit is contained in:
Ashby Issac 2026-02-02 17:30:03 +05:30
parent 318a34e192
commit ec87b47d61
2 changed files with 16 additions and 4 deletions

View File

@ -25,7 +25,6 @@ public class BotModeData
public class GameModeHandler : MonoBehaviour, IBase, IBootLoader, IDataLoader public class GameModeHandler : MonoBehaviour, IBase, IBootLoader, IDataLoader
{ {
private GameplayManager gameplayManager; private GameplayManager gameplayManager;
private GameManager gameManager;
private PVPModeData pvpModeData; private PVPModeData pvpModeData;
private BotModeData botModeData; private BotModeData botModeData;
@ -34,6 +33,11 @@ public class GameModeHandler : MonoBehaviour, IBase, IBootLoader, IDataLoader
get; private set; get; private set;
} }
public GameManager GameManager
{
get; private set;
}
public void Initialize() public void Initialize()
{ {
InterfaceManager.Instance.RegisterInterface<GameModeHandler>(this); InterfaceManager.Instance.RegisterInterface<GameModeHandler>(this);
@ -41,7 +45,7 @@ public class GameModeHandler : MonoBehaviour, IBase, IBootLoader, IDataLoader
public void InitializeData() public void InitializeData()
{ {
gameManager = InterfaceManager.Instance.GetInterfaceInstance<GameManager>(); GameManager = InterfaceManager.Instance.GetInterfaceInstance<GameManager>();
gameplayManager = InterfaceManager.Instance.GetInterfaceInstance<GameplayManager>(); gameplayManager = InterfaceManager.Instance.GetInterfaceInstance<GameplayManager>();
} }
@ -70,7 +74,7 @@ public class GameModeHandler : MonoBehaviour, IBase, IBootLoader, IDataLoader
public void OnGameRestarted() public void OnGameRestarted()
{ {
gameManager.OnGameStateChanged(GameState.InGame); GameManager.OnGameStateChanged(GameState.InGame);
gameplayManager.ResetGameRestartData(); gameplayManager.ResetGameRestartData();
switch (CurrentGameModeType) switch (CurrentGameModeType)
{ {

View File

@ -50,7 +50,7 @@ public class GameOverPopup : PopupBase
{ {
HidePopup(); HidePopup();
gameModeHandler = gameModeHandler == null ? InterfaceManager.Instance.GetInterfaceInstance<GameModeHandler>() : gameModeHandler; SetGameModeHandler();
gameModeHandler.OnGameRestarted(); gameModeHandler.OnGameRestarted();
} }
@ -62,5 +62,13 @@ public class GameOverPopup : PopupBase
public void OnMainMenuClicked() public void OnMainMenuClicked()
{ {
HidePopup(); HidePopup();
SetGameModeHandler();
gameModeHandler.GameManager.OnGameStateChanged(GameState.InMenu);
}
private void SetGameModeHandler()
{
gameModeHandler = gameModeHandler == null ? InterfaceManager.Instance.GetInterfaceInstance<GameModeHandler>() : gameModeHandler;
} }
} }