using System; using System.Collections; using System.Collections.Generic; using System.Reflection; using UnityEngine; using UnityEngine.UIElements; public abstract class ModuleUIPanel : MonoBehaviour { public ModuleUIPage ModuleUIPage; public VisualTreeAsset ModuleUIPanelAsset; protected VisualElement element; protected readonly string defaultStyleClass = "module-ui-panel"; protected virtual ModuleCore ModuleCore => ModuleCore.I; /// MonoBehaviour Awake public abstract void Awake(); /// 打开模块,并且传进参数 public abstract void Open(Data data); /// 关闭模块 public abstract void Close(); protected void InitElement(bool hide = true) { element = ModuleUIPanelAsset.Instantiate(); ModuleUIPage.Add(element); element.AddToClassList(defaultStyleClass); element.style.display = hide ? DisplayStyle.None : DisplayStyle.Flex; } }