Files
MuHua-Core/Assets/ModuleCore/ModuleUIPanel.cs
T
2024-11-01 17:14:31 +08:00

31 lines
1004 B
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using UnityEngine;
using UnityEngine.UIElements;
public abstract class ModuleUIPanel<Data> : MonoBehaviour {
public ModuleUIPage ModuleUIPage;
public VisualTreeAsset ModuleUIPanelAsset;
protected VisualElement element;
protected readonly string defaultStyleClass = "module-ui-panel";
protected virtual ModuleCore ModuleCore => ModuleCore.I;
/// <summary> MonoBehaviour Awake </summary>
public abstract void Awake();
/// <summary> 打开模块,并且传进参数 </summary>
public abstract void Open(Data data);
/// <summary> 关闭模块 </summary>
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;
}
}