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