killapp/Assets/Scripts/UI/UIManager.cs

60 lines
1.5 KiB
C#
Raw Permalink Normal View History

2025-11-18 09:18:48 +08:00
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,
MainPage = 1,
TestPage = 2
}
[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.MainPage);
}
public async void OpenPage(PageName pageName)
{
switch (nowPageName)
{
case PageName.nullPage:
break;
case PageName.MainPage:
Destroy(nowPage);
break;
}
int index = pages.FindIndex(x => x.pageName == pageName);
switch (pageName)
{
case PageName.nullPage:
break;
case PageName.MainPage:
GameObject prefab = await LoadRes.Instance.LoadAssetAsync<GameObject>(pages[index].bundleName, pageName.ToString()+".prefab");
nowPage = Instantiate(prefab, transform);
break;
}
}
}
}