EditorTool3D/Assets/ZXL/Scripts/UI/UIManager.cs

48 lines
1.1 KiB
C#
Raw Normal View History

2024-12-17 23:11:00 +08:00
using System.Collections.Generic;
using UnityEngine;
using ZXL.Manager;
namespace ZXL.Scripts.UI
{
public enum UIType
{
LoginUI,
AssetsUI,
PushModelUI,
ConctrolUI,
}
public class UIManager : Manager<UIManager>
{
Dictionary<UIType, UIBase> dic = new Dictionary<UIType, UIBase>();
public override void OnAwake()
{
base.OnAwake();
var uiBases = GameObject.FindObjectsOfType<UIBase>();
foreach (var uiBase in uiBases)
{
dic.Add(uiBase.uiType, uiBase);
uiBase.Close();
Debug.Log($"[{uiBase.uiType.ToString()}] UIBase: {uiBase}");
}
Open(UIType.AssetsUI);
}
public UIBase Open(UIType uiType)
{
dic[uiType].Open();
return dic[uiType];
}
public UIBase GetUI(UIType uiType)
{
return dic[uiType];
}
public void Close(UIType uiType)
{
dic[uiType].Close();
}
}
}