using UnityEngine; namespace CreatGame.UI { public class UIViewBase { /// /// 预制件的Addressables地址 /// 由导出代码自己添加 /// public virtual string PrefabPath { get; set; } /// /// 窗口预制件 /// protected GameObject m_ViewObject; /// /// 导出脚本 /// protected UIViewExport MViewExport; /// /// 是否加载完成 /// public bool IsPreLoad = false; /// /// 加载窗口的时候需要预先加载的东西 /// public virtual void PreLoad(GameObject viewObject) { m_ViewObject = viewObject; MViewExport = viewObject.GetComponent(); IsPreLoad = true; } /// /// 初始化界面 /// public virtual void InitView() { } /// /// 关闭窗口的时候的调用 /// public virtual void CloseView() { GameObject.Destroy(m_ViewObject); } protected GameObject GetGameObject(string name) { for (int i = 0; i < MViewExport.entries.Count; i++) { if (MViewExport.entries[i].key == name) { return MViewExport.entries[i].prefab; } } return null; } } }