28 lines
784 B
C#
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.");
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|