Files
Continentis/Assets/Scripts/MainGame/UI/Base/UIManagerBase.cs
SoulliesOfficial 61a397dd4c MOD!
2025-10-23 00:49:44 -04:00

37 lines
1.1 KiB
C#

using System.Collections.Generic;
using SLSFramework.General;
using UnityEngine;
namespace Continentis
{
public abstract partial class UIManagerBase : Singleton<UIManagerBase>
{
[Header("UI Prefabs")]
public Dictionary<string, GameObject> uiElementPrefabs = new Dictionary<string, GameObject>();
public Dictionary<string, GameObject> uiPagePrefabs = new Dictionary<string, GameObject>();
[Header("Pages")]
public List<UIPageBase> uiPageList = new List<UIPageBase>(); // 用于管理UI堆栈
[Header("Canvas")]
public Canvas mainCanvas;
public RectTransform canvasTransform;
}
public partial class UIManagerBase
{
public T ShowPage<T>(string pageName) where T : UIPageBase
{
GameObject prefab = uiPagePrefabs[pageName];
GameObject uiInstance = Instantiate(prefab, canvasTransform);
T page = uiInstance.GetComponent<T>();
page.Initialize(this);
page.Show();
// ... 处理层级 ...
return page;
}
}
}