Files
CourierOld/Game/CourierOld/Assets/Code/UI/UIService.cs
T

33 lines
1.1 KiB
C#

using UnityEngine;
namespace Code.UI
{
public class UIService : IUIService
{
private UIElement[] _uiPanelsPrefabs;
private Canvas _canvas;
public UIElement CurrentPanel { get; private set; }
public LoadingPanel LoadingScreen { get; private set; }
public UIService(UIElement[] uiPanelsPrefabs, Canvas canvas)
{
_canvas = Object.Instantiate(canvas);
Object.DontDestroyOnLoad(_canvas);
_uiPanelsPrefabs = uiPanelsPrefabs;
LoadingScreen = (LoadingPanel)Object.Instantiate(_uiPanelsPrefabs[(int)UIPanel.Loading], _canvas.transform);
}
public void EnablePanel() => CurrentPanel.gameObject.SetActive(true);
public void DisablePanel() => CurrentPanel.gameObject.SetActive(false);
public void SwitchPanelTo(UIPanel uiPanel)
{
if (CurrentPanel.gameObject != null)
Object.Destroy(CurrentPanel.gameObject);
CurrentPanel = Object.Instantiate(_uiPanelsPrefabs[(int)uiPanel], _canvas.transform);
}
}
}