This commit is contained in:
2025-11-13 08:57:19 +08:00
parent 430fc90ade
commit ab52ac7611
15 changed files with 55 additions and 3265 deletions

View File

@@ -0,0 +1,51 @@
using UnityEngine;
using System.Collections.Generic;
using YooAsset;
using Cysharp.Threading.Tasks;
using Tuan.GameFramework;
namespace Tuan.GameScripts.Main
{
public class SceneLoader : Singleton<SceneLoader>
{
Dictionary<string, SceneHandle> sceneHandles = new Dictionary<string, SceneHandle>();
public async UniTask LoadSceneAsync(string sceneName, LoadingWindow loadingWindow = null)
{
SceneHandle sceneHandle = null;
if (!sceneHandles.ContainsKey(sceneName))
{
sceneHandle = YooAssets.LoadSceneAsync("Test");
await sceneHandle.ToUniTask(loadingWindow);
sceneHandles[sceneName] = sceneHandle;
}
else
{
sceneHandle = sceneHandles[sceneName];
}
sceneHandle.ActivateScene();
if(loadingWindow != null)
UIManager.Inst.CloseUI(loadingWindow);
}
public void LoadScene(string sceneName)
{
SceneHandle sceneHandle = null;
if (!sceneHandles.ContainsKey(sceneName))
{
sceneHandle = YooAssets.LoadSceneSync("Test");
sceneHandles[sceneName] = sceneHandle;
}
else
{
sceneHandle = sceneHandles[sceneName];
}
sceneHandle.ActivateScene();
}
public SceneHandle GetHandle(string name)
{
if (sceneHandles.ContainsKey(name))
return sceneHandles[name];
return null;
}
}
}