killapp/Assets/Scripts/UI/UIManager.cs
2026-03-30 16:25:00 +08:00

62 lines
1.6 KiB
C#

using System.Collections.Generic;
using System.Threading.Tasks;
using Kill.Base;
using UnityEngine;
namespace Kill.UI
{
public class UIManager : MonoBehaviour
{
public enum PageName
{
nullPage = 0,
loginPage=1
}
[System.Serializable]
public struct Page
{
public PageName pageName;
public string bundleName;
}
public static UIManager Instance;
public List<Page> pages;
public GameObject nowPage;
public PageName nowPageName = PageName.nullPage;
void Awake()
{
Instance = this;
}
public void Init()
{
OpenPage(PageName.loginPage);
}
public async void OpenPage(PageName pageName)
{
Debug.Log("打开页面:" + pageName);
switch (nowPageName)
{
case PageName.nullPage:
break;
case PageName.loginPage:
Destroy(nowPage);
break;
}
int index = pages.FindIndex(x => x.pageName == pageName);
switch (pageName)
{
case PageName.nullPage:
break;
case PageName.loginPage:
GameObject prefab = await LoadRes.Instance.LoadAssetAsync<GameObject>(pages[index].bundleName, pageName.ToString() + ".prefab");
nowPage = Instantiate(prefab, transform);
break;
}
}
}
}