65 lines
2.0 KiB
C#
65 lines
2.0 KiB
C#
using UnityEngine;
|
|
|
|
public class UIManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|
{
|
|
private ScreenManager screenManager;
|
|
private PopupManager popupManager;
|
|
|
|
private GameplayManager gameplayManager;
|
|
|
|
public GameManager GameManager
|
|
{
|
|
get; private set;
|
|
}
|
|
|
|
public void Initialize()
|
|
{
|
|
InterfaceManager.Instance.RegisterInterface<UIManager>(this);
|
|
}
|
|
|
|
public void InitializeData()
|
|
{
|
|
GameManager = InterfaceManager.Instance.GetInterfaceInstance<GameManager>();
|
|
popupManager = InterfaceManager.Instance.GetInterfaceInstance<PopupManager>();
|
|
gameplayManager = InterfaceManager.Instance.GetInterfaceInstance<GameplayManager>();
|
|
}
|
|
|
|
public void OnDiceViewInteracted()
|
|
{
|
|
gameplayManager.OnDiceInteracted();
|
|
}
|
|
|
|
public void OnInMenuScreen()
|
|
{
|
|
screenManager = screenManager == null ? InterfaceManager.Instance.GetInterfaceInstance<ScreenManager>() : screenManager;
|
|
screenManager.HideAllScreens();
|
|
screenManager.ShowScreen(ScreenType.MainMenuScreen);
|
|
screenManager.ShowScreen(ScreenType.MenuScreen);
|
|
}
|
|
|
|
public void OnInGameScreen()
|
|
{
|
|
screenManager.HideAllScreens();
|
|
screenManager.ShowScreen(ScreenType.GameScreen);
|
|
screenManager.ShowScreen(ScreenType.InGameHUDScreen);
|
|
}
|
|
|
|
public void UpdatePlayerTurnText(PlayerType type, int remSec)
|
|
{
|
|
screenManager.GetScreen<GameHUDScreen>(ScreenType.InGameHUDScreen).UpdatePlayerTurnText(type, remSec);
|
|
}
|
|
|
|
public void UpdatePlayerTurnText(PlayerType type)
|
|
{
|
|
screenManager.GetScreen<GameHUDScreen>(ScreenType.InGameHUDScreen).UpdateBotTurnText(type);
|
|
}
|
|
|
|
public void OnGameOver()
|
|
{
|
|
screenManager.HideAllScreens();
|
|
screenManager.ShowScreen(ScreenType.GameOverScreen);
|
|
popupManager.GetPopup<GameOverPopup>(PopupType.GameOverPopup).InitData(gameplayManager.PlayerDatas);
|
|
popupManager.ShowPopup(PopupType.GameOverPopup);
|
|
}
|
|
}
|