using System; using System.Collections.Generic; using Sirenix.OdinInspector; using UnityEngine; namespace UnityTest.ZXL { public class UIManager : BaseAutoMono { public List uiObjectData = new List(); public void ShowUI(UIType uiType) { foreach (var objectData in uiObjectData) { if (objectData.uiType == uiType) { objectData.ui.gameObject.SetActive(true); } } } public void HideUI(UIType uiType) { foreach (var objectData in uiObjectData) { if (objectData.uiType == uiType) { objectData.ui.gameObject.SetActive(false); } } } public void HideAllUI() { foreach (var objectData in uiObjectData) { objectData.ui.gameObject.SetActive(false); } } #if UNITY_EDITOR [Button] void Add() { var uis = this.gameObject.GetComponentAllChild(); foreach (var ui in uis) { uiObjectData.Add(new UIObjectData() {uiType = ui.uiType, ui = ui}); } } #endif } public enum UIType { Chapter, //章节 StrongTips, //强提示 WeakTips, //弱提示 Dialogue, //对话 } [System.Serializable] public struct UIObjectData { public UIType uiType; public UI ui; } }