55 lines
1.7 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class UIManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
{
private GameplayManager gameplayManager;
private ScreenManager screenManager;
private PopupManager popupManager;
public void Initialize()
{
InterfaceManager.Instance.RegisterInterface<UIManager>(this);
}
public void InitializeData()
{
gameplayManager = InterfaceManager.Instance.GetInterfaceInstance<GameplayManager>();
popupManager = InterfaceManager.Instance.GetInterfaceInstance<PopupManager>();
}
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)
{
screenManager.GetScreen<GameHUDS>(ScreenType.InGameHUDScreen).UpdatePlayerTurnText(type);
}
public void OnGameOver()
{
screenManager.HideAllScreens();
screenManager.ShowScreen(ScreenType.GameOverScreen);
popupManager.GetPopup<GameOverPopup>(PopupType.GameOverPopup).InitData(gameplayManager.PlayerDatas);
popupManager.ShowPopup(PopupType.GameOverPopup);
}
}