mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-14 16:51:28 +00:00
UIModule
UIModule
This commit is contained in:
@@ -8,10 +8,6 @@ namespace TEngine.Editor.Inspector
|
|||||||
private SerializedProperty m_InstanceRoot = null;
|
private SerializedProperty m_InstanceRoot = null;
|
||||||
private SerializedProperty m_dontDestroyUIRoot = null;
|
private SerializedProperty m_dontDestroyUIRoot = null;
|
||||||
private SerializedProperty m_UICamera = null;
|
private SerializedProperty m_UICamera = null;
|
||||||
private SerializedProperty m_UIGroups = null;
|
|
||||||
|
|
||||||
private HelperInfo<UIWindowHelperBase> m_UIWindowHelperInfo = new HelperInfo<UIWindowHelperBase>("UIWindow");
|
|
||||||
private HelperInfo<UIGroupHelperBase> m_UIGroupHelperInfo = new HelperInfo<UIGroupHelperBase>("UIGroup");
|
|
||||||
|
|
||||||
public override void OnInspectorGUI()
|
public override void OnInspectorGUI()
|
||||||
{
|
{
|
||||||
@@ -26,17 +22,9 @@ namespace TEngine.Editor.Inspector
|
|||||||
EditorGUILayout.PropertyField(m_InstanceRoot);
|
EditorGUILayout.PropertyField(m_InstanceRoot);
|
||||||
EditorGUILayout.PropertyField(m_dontDestroyUIRoot);
|
EditorGUILayout.PropertyField(m_dontDestroyUIRoot);
|
||||||
EditorGUILayout.PropertyField(m_UICamera);
|
EditorGUILayout.PropertyField(m_UICamera);
|
||||||
m_UIWindowHelperInfo.Draw();
|
|
||||||
m_UIGroupHelperInfo.Draw();
|
|
||||||
EditorGUILayout.PropertyField(m_UIGroups, true);
|
|
||||||
}
|
}
|
||||||
EditorGUI.EndDisabledGroup();
|
EditorGUI.EndDisabledGroup();
|
||||||
|
|
||||||
if (EditorApplication.isPlaying && IsPrefabInHierarchy(t.gameObject))
|
|
||||||
{
|
|
||||||
EditorGUILayout.LabelField("UI Group Count", t.UIGroupCount.ToString());
|
|
||||||
}
|
|
||||||
|
|
||||||
serializedObject.ApplyModifiedProperties();
|
serializedObject.ApplyModifiedProperties();
|
||||||
|
|
||||||
Repaint();
|
Repaint();
|
||||||
@@ -54,18 +42,12 @@ namespace TEngine.Editor.Inspector
|
|||||||
m_InstanceRoot = serializedObject.FindProperty("m_InstanceRoot");
|
m_InstanceRoot = serializedObject.FindProperty("m_InstanceRoot");
|
||||||
m_dontDestroyUIRoot = serializedObject.FindProperty("m_dontDestroyUIRoot");
|
m_dontDestroyUIRoot = serializedObject.FindProperty("m_dontDestroyUIRoot");
|
||||||
m_UICamera = serializedObject.FindProperty("m_UICamera");
|
m_UICamera = serializedObject.FindProperty("m_UICamera");
|
||||||
m_UIGroups = serializedObject.FindProperty("m_UIGroups");
|
|
||||||
|
|
||||||
m_UIWindowHelperInfo.Init(serializedObject);
|
|
||||||
m_UIGroupHelperInfo.Init(serializedObject);
|
|
||||||
|
|
||||||
RefreshTypeNames();
|
RefreshTypeNames();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RefreshTypeNames()
|
private void RefreshTypeNames()
|
||||||
{
|
{
|
||||||
m_UIWindowHelperInfo.Refresh();
|
|
||||||
m_UIGroupHelperInfo.Refresh();
|
|
||||||
serializedObject.ApplyModifiedProperties();
|
serializedObject.ApplyModifiedProperties();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,77 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace TEngine
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 默认界面辅助器。
|
|
||||||
/// </summary>
|
|
||||||
public class DefaultUIWindowHelper : UIWindowHelperBase
|
|
||||||
{
|
|
||||||
private ResourceModule _mResourceModule = null;
|
|
||||||
|
|
||||||
private Vector2 m_Half = new Vector2(0.5f,0.5f);
|
|
||||||
|
|
||||||
private int m_UILayer;
|
|
||||||
|
|
||||||
private void Start()
|
|
||||||
{
|
|
||||||
m_UILayer = LayerMask.NameToLayer("UI");
|
|
||||||
_mResourceModule = GameEntry.GetModule<ResourceModule>();
|
|
||||||
if (_mResourceModule == null)
|
|
||||||
{
|
|
||||||
Log.Fatal("Resource component is invalid.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 实例化界面。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="uiWindowAsset">要实例化的界面资源。</param>
|
|
||||||
public override object InstantiateUIWindow(object uiWindowAsset)
|
|
||||||
{
|
|
||||||
return Instantiate((Object)uiWindowAsset);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 创建界面。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="uiWindowInstance">界面实例。</param>
|
|
||||||
/// <param name="uiGroup">界面所属的界面组。</param>
|
|
||||||
/// <param name="userData">用户自定义数据。</param>
|
|
||||||
/// <returns>界面。</returns>
|
|
||||||
public override UIWindow CreateUIWindow(object uiWindowInstance, IUIGroup uiGroup, object userData)
|
|
||||||
{
|
|
||||||
GameObject obj = uiWindowInstance as GameObject;
|
|
||||||
if (obj == null)
|
|
||||||
{
|
|
||||||
Log.Error("UI form instance is invalid.");
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
Transform trans = obj.transform;
|
|
||||||
trans.SetParent(((MonoBehaviour)uiGroup.Helper).transform);
|
|
||||||
trans.localScale = Vector3.one;
|
|
||||||
trans.localPosition = Vector3.zero;
|
|
||||||
obj.layer = m_UILayer;
|
|
||||||
|
|
||||||
RectTransform rectTransform = obj.GetComponent<RectTransform>();
|
|
||||||
rectTransform.anchorMin = m_Half;
|
|
||||||
rectTransform.anchorMax = m_Half;
|
|
||||||
rectTransform.anchoredPosition = Vector2.zero;
|
|
||||||
// return obj.GetOrAddComponent<UIWindow>();
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 释放界面。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="uiWindowAsset">要释放的界面资源。</param>
|
|
||||||
/// <param name="uiWindowInstance">要释放的界面实例。</param>
|
|
||||||
public override void ReleaseUIWindow(object uiWindowAsset, object uiWindowInstance)
|
|
||||||
{
|
|
||||||
// m_ResourceComponent.UnloadAsset(uiWindowAsset);
|
|
||||||
Destroy((Object)uiWindowInstance);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 22c9da1f4aa8420ab1210d65b8403993
|
|
||||||
timeCreated: 1680514816
|
|
@@ -1,44 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
using UnityEngine.UI;
|
|
||||||
|
|
||||||
namespace TEngine
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 默认界面组辅助器。
|
|
||||||
/// </summary>
|
|
||||||
public class DefaultUIGroupHelper : UIGroupHelperBase
|
|
||||||
{
|
|
||||||
public const int DepthFactor = 10000;
|
|
||||||
private int m_Depth = 0;
|
|
||||||
private Canvas m_CachedCanvas = null;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 设置界面组深度。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="depth">界面组深度。</param>
|
|
||||||
public override void SetDepth(int depth)
|
|
||||||
{
|
|
||||||
m_Depth = depth;
|
|
||||||
m_CachedCanvas.overrideSorting = true;
|
|
||||||
m_CachedCanvas.sortingOrder = DepthFactor * depth;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Awake()
|
|
||||||
{
|
|
||||||
m_CachedCanvas = gameObject.GetOrAddComponent<Canvas>();
|
|
||||||
gameObject.GetOrAddComponent<GraphicRaycaster>();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Start()
|
|
||||||
{
|
|
||||||
m_CachedCanvas.overrideSorting = true;
|
|
||||||
m_CachedCanvas.sortingOrder = DepthFactor * m_Depth;
|
|
||||||
|
|
||||||
RectTransform rectTransform = GetComponent<RectTransform>();
|
|
||||||
rectTransform.anchorMin = Vector2.zero;
|
|
||||||
rectTransform.anchorMax = Vector2.one;
|
|
||||||
rectTransform.anchoredPosition = Vector2.zero;
|
|
||||||
rectTransform.sizeDelta = Vector2.zero;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 1686306ee1ba46b59e0405d121ad7cfe
|
|
||||||
timeCreated: 1680514816
|
|
@@ -1,114 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace TEngine
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 界面组接口。
|
|
||||||
/// </summary>
|
|
||||||
public interface IUIGroup
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 获取界面组名称。
|
|
||||||
/// </summary>
|
|
||||||
string Name
|
|
||||||
{
|
|
||||||
get;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取或设置界面组深度。
|
|
||||||
/// </summary>
|
|
||||||
int Depth
|
|
||||||
{
|
|
||||||
get;
|
|
||||||
set;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取或设置界面组是否暂停。
|
|
||||||
/// </summary>
|
|
||||||
bool Pause
|
|
||||||
{
|
|
||||||
get;
|
|
||||||
set;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取界面组中界面数量。
|
|
||||||
/// </summary>
|
|
||||||
int UIWindowCount
|
|
||||||
{
|
|
||||||
get;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取当前界面。
|
|
||||||
/// </summary>
|
|
||||||
UIWindow CurrentUIWindow
|
|
||||||
{
|
|
||||||
get;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取界面组辅助器。
|
|
||||||
/// </summary>
|
|
||||||
UIGroupHelperBase Helper
|
|
||||||
{
|
|
||||||
get;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 界面组中是否存在界面。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="serialId">界面序列编号。</param>
|
|
||||||
/// <returns>界面组中是否存在界面。</returns>
|
|
||||||
bool HasUIWindow(int serialId);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 界面组中是否存在界面。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="uiWindowAssetName">界面资源名称。</param>
|
|
||||||
/// <returns>界面组中是否存在界面。</returns>
|
|
||||||
bool HasUIWindow(string uiWindowAssetName);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 从界面组中获取界面。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="serialId">界面序列编号。</param>
|
|
||||||
/// <returns>要获取的界面。</returns>
|
|
||||||
UIWindow GetUIWindow(int serialId);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 从界面组中获取界面。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="uiWindowAssetName">界面资源名称。</param>
|
|
||||||
/// <returns>要获取的界面。</returns>
|
|
||||||
UIWindow GetUIWindow(string uiWindowAssetName);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 从界面组中获取界面。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="uiWindowAssetName">界面资源名称。</param>
|
|
||||||
/// <returns>要获取的界面。</returns>
|
|
||||||
UIWindow[] GetUIWindows(string uiWindowAssetName);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 从界面组中获取界面。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="uiWindowAssetName">界面资源名称。</param>
|
|
||||||
/// <param name="results">要获取的界面。</param>
|
|
||||||
void GetUIWindow(string uiWindowAssetName, List<UIWindow> results);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 从界面组中获取所有界面。
|
|
||||||
/// </summary>
|
|
||||||
/// <returns>界面组中的所有界面。</returns>
|
|
||||||
UIWindow[] GetAllUIWindows();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 从界面组中获取所有界面。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="results">界面组中的所有界面。</param>
|
|
||||||
void GetAllUIWindows(List<UIWindow> results);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 02d65f2c8a574a5e902b76c27a59ce24
|
|
||||||
timeCreated: 1680511360
|
|
@@ -1,34 +0,0 @@
|
|||||||
using System;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace TEngine
|
|
||||||
{
|
|
||||||
public sealed partial class UIModule : GameFrameworkModuleBase
|
|
||||||
{
|
|
||||||
[Serializable]
|
|
||||||
private sealed class UIGroup
|
|
||||||
{
|
|
||||||
[SerializeField]
|
|
||||||
private string m_Name = null;
|
|
||||||
|
|
||||||
[SerializeField]
|
|
||||||
private int m_Depth = 0;
|
|
||||||
|
|
||||||
public string Name
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return m_Name;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public int Depth
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return m_Depth;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: e810c424ef3e4d4d819a04049d8c0cc9
|
|
||||||
timeCreated: 1680511981
|
|
@@ -1,16 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace TEngine
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 界面组辅助器基类。
|
|
||||||
/// </summary>
|
|
||||||
public abstract class UIGroupHelperBase : MonoBehaviour
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 设置界面组深度。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="depth">界面组深度。</param>
|
|
||||||
public abstract void SetDepth(int depth);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 448c98ed06ca49c1bf41283abf384005
|
|
||||||
timeCreated: 1680516245
|
|
@@ -31,17 +31,8 @@ namespace TEngine
|
|||||||
|
|
||||||
[SerializeField] private string m_UIWindowHelperTypeName = "TEngine.DefaultUIWindowHelper";
|
[SerializeField] private string m_UIWindowHelperTypeName = "TEngine.DefaultUIWindowHelper";
|
||||||
|
|
||||||
[SerializeField] private UIWindowHelperBase mCustomUIWindowHelper = null;
|
|
||||||
|
|
||||||
[SerializeField] private string m_UIGroupHelperTypeName = "TEngine.DefaultUIGroupHelper";
|
|
||||||
|
|
||||||
[SerializeField] private UIGroupHelperBase m_CustomUIGroupHelper = null;
|
|
||||||
|
|
||||||
[SerializeField] private UIGroup[] m_UIGroups = null;
|
|
||||||
|
|
||||||
private readonly List<UIWindow> _stack = new List<UIWindow>(100);
|
private readonly List<UIWindow> _stack = new List<UIWindow>(100);
|
||||||
|
|
||||||
public const int GROUP_DEEP = 10000;
|
|
||||||
public const int WINDOW_DEEP = 100;
|
public const int WINDOW_DEEP = 100;
|
||||||
public const int WINDOW_HIDE_LAYER = 2; // Ignore Raycast
|
public const int WINDOW_HIDE_LAYER = 2; // Ignore Raycast
|
||||||
public const int WINDOW_SHOW_LAYER = 5; // UI
|
public const int WINDOW_SHOW_LAYER = 5; // UI
|
||||||
@@ -58,11 +49,6 @@ namespace TEngine
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public Camera UICamera => m_UICamera;
|
public Camera UICamera => m_UICamera;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取界面组数量。
|
|
||||||
/// </summary>
|
|
||||||
public int UIGroupCount => m_UIGroups?.Length ?? 0;
|
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
RootModule rootModule = GameEntry.GetModule<RootModule>();
|
RootModule rootModule = GameEntry.GetModule<RootModule>();
|
||||||
@@ -72,18 +58,6 @@ namespace TEngine
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
UIWindowHelperBase uiWindowHelper = Helper.CreateHelper(m_UIWindowHelperTypeName, mCustomUIWindowHelper);
|
|
||||||
if (uiWindowHelper == null)
|
|
||||||
{
|
|
||||||
Log.Error("Can not create UI form helper.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
uiWindowHelper.name = "UI Form Helper";
|
|
||||||
Transform transform = uiWindowHelper.transform;
|
|
||||||
transform.SetParent(this.transform);
|
|
||||||
transform.localScale = Vector3.one;
|
|
||||||
|
|
||||||
if (m_InstanceRoot == null)
|
if (m_InstanceRoot == null)
|
||||||
{
|
{
|
||||||
m_InstanceRoot = new GameObject("UI Form Instances").transform;
|
m_InstanceRoot = new GameObject("UI Form Instances").transform;
|
||||||
@@ -97,15 +71,6 @@ namespace TEngine
|
|||||||
|
|
||||||
m_InstanceRoot.gameObject.layer = LayerMask.NameToLayer("UI");
|
m_InstanceRoot.gameObject.layer = LayerMask.NameToLayer("UI");
|
||||||
UIRootStatic = m_InstanceRoot;
|
UIRootStatic = m_InstanceRoot;
|
||||||
|
|
||||||
for (int i = 0; i < m_UIGroups.Length; i++)
|
|
||||||
{
|
|
||||||
if (!AddUIGroup(m_UIGroups[i].Name, m_UIGroups[i].Depth))
|
|
||||||
{
|
|
||||||
Log.Warning("Add UI group '{0}' failure.", m_UIGroups[i].Name);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDestroy()
|
private void OnDestroy()
|
||||||
@@ -128,31 +93,6 @@ namespace TEngine
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 增加界面组。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="uiGroupName">界面组名称。</param>
|
|
||||||
/// <param name="depth">界面组深度。</param>
|
|
||||||
/// <returns>是否增加界面组成功。</returns>
|
|
||||||
public bool AddUIGroup(string uiGroupName, int depth)
|
|
||||||
{
|
|
||||||
UIGroupHelperBase uiGroupHelper = Helper.CreateHelper(m_UIGroupHelperTypeName, m_CustomUIGroupHelper, m_UIGroups.Length);
|
|
||||||
if (uiGroupHelper == null)
|
|
||||||
{
|
|
||||||
Log.Error("Can not create UI group helper.");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
uiGroupHelper.name = Utility.Text.Format("UI Group - {0}", uiGroupName);
|
|
||||||
uiGroupHelper.gameObject.layer = LayerMask.NameToLayer("UI");
|
|
||||||
Transform transform = uiGroupHelper.transform;
|
|
||||||
transform.SetParent(m_InstanceRoot);
|
|
||||||
transform.localScale = Vector3.one;
|
|
||||||
transform.localPosition = Vector3.zero;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
#region 设置安全区域
|
#region 设置安全区域
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@@ -1,33 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace TEngine
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 界面辅助器基类。
|
|
||||||
/// </summary>
|
|
||||||
public abstract class UIWindowHelperBase : MonoBehaviour
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 实例化界面。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="uiWindowAsset">要实例化的界面资源。</param>
|
|
||||||
/// <returns>实例化后的界面。</returns>
|
|
||||||
public abstract object InstantiateUIWindow(object uiWindowAsset);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 创建界面。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="uiWindowInstance">界面实例。</param>
|
|
||||||
/// <param name="uiGroup">界面所属的界面组。</param>
|
|
||||||
/// <param name="userData">用户自定义数据。</param>
|
|
||||||
/// <returns>界面。</returns>
|
|
||||||
public abstract UIWindow CreateUIWindow(object uiWindowInstance, IUIGroup uiGroup, object userData);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 释放界面。
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="uiWindowAsset">要释放的界面资源。</param>
|
|
||||||
/// <param name="uiWindowInstance">要释放的界面实例。</param>
|
|
||||||
public abstract void ReleaseUIWindow(object uiWindowAsset, object uiWindowInstance);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 3f4ee8db1fd94cfdb66dc1062084ad30
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
Reference in New Issue
Block a user