2025-04-22 15:46:53 +08:00

28 lines
784 B
C#

using Cysharp.Threading.Tasks;
using TEngine;
using UnityEngine.SceneManagement;
namespace GameLogic
{
public static class SceneModuleSystem
{
public static async UniTask LoadAsyncSceneInProject(this SceneModule sceneModule, string sceneName)
{
// 检查场景是否已经加载
var scene = SceneManager.GetSceneByName(sceneName);
// 如果场景无效,异步加载场景
if (!scene.IsValid())
{
await SceneManager.LoadSceneAsync(sceneName).ToUniTask();
Log.Info($"Scene '{sceneName}' loaded successfully.");
}
else
{
Log.Warning($"Scene '{sceneName}' is already loaded.");
}
}
}
}