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;
}
}
}