mirror of
https://github.com/soarqin/DSP_Mods_TO.git
synced 2026-02-04 14:12:18 +08:00
add XianTu
This commit is contained in:
72
XianTu/UI/UIManager.cs
Normal file
72
XianTu/UI/UIManager.cs
Normal file
@@ -0,0 +1,72 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using Object = UnityEngine.Object;
|
||||
|
||||
namespace XianTu.UI
|
||||
{
|
||||
public class UIManager
|
||||
{
|
||||
public GameObject CanvasObj { get; private set; }
|
||||
|
||||
public bool ActiveSelf => CanvasObj.activeSelf;
|
||||
|
||||
public void SetActive(bool value)
|
||||
{
|
||||
CanvasObj.SetActive(value);
|
||||
}
|
||||
|
||||
public void SwitchDisplay()
|
||||
{
|
||||
CanvasObj.SetActive(CanvasObj.activeSelf);
|
||||
}
|
||||
|
||||
public UIManager(Action<object> debugLog = null)
|
||||
{
|
||||
Instance = this;
|
||||
var flag = debugLog == null;
|
||||
if (flag)
|
||||
{
|
||||
DebugLog = new Action<object>(Debug.Log);
|
||||
}
|
||||
var flag2 = !LoadCanvas();
|
||||
if (flag2)
|
||||
{
|
||||
DebugLog("UI管理器加载失败");
|
||||
}
|
||||
else
|
||||
{
|
||||
PanelManager = new PanelManager(CanvasObj);
|
||||
}
|
||||
}
|
||||
|
||||
public PanelManager PanelManager { get; private set; }
|
||||
|
||||
public static UIManager Instance { get; private set; }
|
||||
|
||||
public CanvasMonoEvent CanvasMonoEvent { get; private set; }
|
||||
|
||||
private bool LoadCanvas()
|
||||
{
|
||||
var gameObject = Singleton<LoadManager>.Instance.LoadPrefab("Prefabs/XianTuCanvas");
|
||||
var flag = gameObject != null;
|
||||
bool flag2;
|
||||
if (flag)
|
||||
{
|
||||
var gameObject2 = Object.Instantiate(gameObject);
|
||||
CanvasObj = gameObject2;
|
||||
CanvasMonoEvent = gameObject2.AddComponent<CanvasMonoEvent>();
|
||||
gameObject2.SetActive(false);
|
||||
flag2 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
flag2 = false;
|
||||
}
|
||||
return flag2;
|
||||
}
|
||||
|
||||
private const string CanvasPrefabPath = "Prefabs/XianTuCanvas";
|
||||
|
||||
public readonly Action<object> DebugLog;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user