2026-01-30 09:35:31 +05:30
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
public class UIManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|
|
|
|
{
|
|
|
|
|
private ScreenManager screenManager;
|
2026-01-30 21:51:33 +05:30
|
|
|
private PopupManager popupManager;
|
2026-01-30 09:35:31 +05:30
|
|
|
|
2026-02-04 21:47:34 +05:30
|
|
|
private GameplayManager gameplayManager;
|
|
|
|
|
|
|
|
|
|
public GameManager GameManager
|
|
|
|
|
{
|
|
|
|
|
get; private set;
|
|
|
|
|
}
|
|
|
|
|
|
2026-01-30 09:35:31 +05:30
|
|
|
public void Initialize()
|
|
|
|
|
{
|
|
|
|
|
InterfaceManager.Instance.RegisterInterface<UIManager>(this);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void InitializeData()
|
|
|
|
|
{
|
2026-02-04 21:47:34 +05:30
|
|
|
GameManager = InterfaceManager.Instance.GetInterfaceInstance<GameManager>();
|
2026-01-30 21:51:33 +05:30
|
|
|
popupManager = InterfaceManager.Instance.GetInterfaceInstance<PopupManager>();
|
2026-02-04 21:47:34 +05:30
|
|
|
gameplayManager = InterfaceManager.Instance.GetInterfaceInstance<GameplayManager>();
|
2026-01-30 09:35:31 +05:30
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnDiceViewInteracted()
|
|
|
|
|
{
|
|
|
|
|
gameplayManager.OnDiceInteracted();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnInMenuScreen()
|
|
|
|
|
{
|
|
|
|
|
screenManager = screenManager == null ? InterfaceManager.Instance.GetInterfaceInstance<ScreenManager>() : screenManager;
|
|
|
|
|
screenManager.HideAllScreens();
|
2026-01-30 22:46:04 +05:30
|
|
|
screenManager.ShowScreen(ScreenType.MainMenuScreen);
|
2026-01-30 09:35:31 +05:30
|
|
|
screenManager.ShowScreen(ScreenType.MenuScreen);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnInGameScreen()
|
|
|
|
|
{
|
|
|
|
|
screenManager.HideAllScreens();
|
2026-01-30 22:46:04 +05:30
|
|
|
screenManager.ShowScreen(ScreenType.GameScreen);
|
2026-01-30 09:35:31 +05:30
|
|
|
screenManager.ShowScreen(ScreenType.InGameHUDScreen);
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-06 19:26:29 +05:30
|
|
|
public void UpdatePlayerTurnText(PlayerType type, int remSec)
|
|
|
|
|
{
|
2026-02-13 18:17:23 +05:30
|
|
|
screenManager.GetScreen<GameHUDScreen>(ScreenType.InGameHUDScreen).UpdatePlayerTurnText(type, remSec);
|
2026-02-06 19:26:29 +05:30
|
|
|
}
|
|
|
|
|
|
2026-01-30 22:17:18 +05:30
|
|
|
public void UpdatePlayerTurnText(PlayerType type)
|
|
|
|
|
{
|
2026-02-13 18:17:23 +05:30
|
|
|
screenManager.GetScreen<GameHUDScreen>(ScreenType.InGameHUDScreen).UpdateBotTurnText(type);
|
2026-01-30 22:17:18 +05:30
|
|
|
}
|
|
|
|
|
|
2026-02-23 16:35:26 +05:30
|
|
|
public void UpdatePlayerTurnIcon(PlayerType type)
|
|
|
|
|
{
|
|
|
|
|
screenManager.GetScreen<GameHUDScreen>(ScreenType.InGameHUDScreen).UpdatePlayerTurnIcon(type);
|
|
|
|
|
}
|
|
|
|
|
|
2026-01-30 21:51:33 +05:30
|
|
|
public void OnGameOver()
|
2026-01-30 09:35:31 +05:30
|
|
|
{
|
2026-01-30 22:46:04 +05:30
|
|
|
screenManager.HideAllScreens();
|
|
|
|
|
screenManager.ShowScreen(ScreenType.GameOverScreen);
|
2026-01-30 21:51:33 +05:30
|
|
|
popupManager.GetPopup<GameOverPopup>(PopupType.GameOverPopup).InitData(gameplayManager.PlayerDatas);
|
|
|
|
|
popupManager.ShowPopup(PopupType.GameOverPopup);
|
2026-01-30 09:35:31 +05:30
|
|
|
}
|
|
|
|
|
}
|