Files
MuHua-Core/Assets/ModuleCore/ModuleVisual/ModuleVisual.cs
T
MuHua-123 8f387837db 1
2025-01-08 18:02:44 +08:00

31 lines
1.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 生成可视化内容模块
/// </summary>
public abstract class ModuleVisual<Data> : MonoBehaviour {
/// <summary> 必须要初始化 </summary>
protected abstract void Awake();
/// <summary> 核心模块 </summary>
protected virtual ModuleCore ModuleCore => ModuleCore.I;
/// <summary> 更新可视化内容 </summary>
public abstract void UpdateVisual(Data data);
/// <summary> 释放可视化内容 </summary>
public abstract void ReleaseVisual(Data data);
/// <summary> 创建可视化内容 </summary>
public void Create<T>(ref T value, Transform original, Transform parent) {
if (value != null) { return; }
Transform temp = CreateTransform(original, parent);
value = temp.GetComponent<T>();
}
public Transform CreateTransform(Transform original, Transform parent) {
Transform temp = Instantiate(original, parent);
temp.gameObject.SetActive(true);
return temp;
}
}