Files
Fishing2/Assets/Scripts/Commands/Task/LoadSceneTask.cs
2025-05-10 12:49:47 +08:00

64 lines
2.1 KiB
C#

using System;
using NBC;
using NBC.Asset;
using UnityEngine;
using UnityEngine.SceneManagement;
namespace NBF
{
public class LoadSceneTask : NTask
{
public LoadSceneTask(string sceneName, Action<SceneProvider> addAssetCallback = null)
{
_sceneName = sceneName;
_addAssetCallback = addAssetCallback;
}
private readonly Action<SceneProvider> _addAssetCallback;
private readonly string _sceneName;
// private SceneProvider _sceneAsset;
private AsyncOperation _asyncOperation;
protected override void OnStart()
{
Log.Info($"加载场景=={_sceneName}");
// var scenePath = $"scene/{_sceneName}";
_asyncOperation = SceneManager.LoadSceneAsync(_sceneName);
// _sceneAsset = NBC.Asset.Assets.LoadScene(scenePath);
// Assets.StompyRobot.SRDebugger.Scripts.Services.Implementation.ConsoleFilterStateService
}
protected override NTaskStatus OnProcess()
{
// if (_sceneAsset != null)
// {
// if (_sceneAsset.IsDone)
// {
// if (_addAssetCallback != null)
// {
// _addAssetCallback(_sceneAsset); //加入缓存,以便离开战斗释放
// }
//
// _addAssetCallback?.Invoke(_sceneAsset);
// return NTaskStatus.Success;
// }
// }
if (_asyncOperation != null)
{
if (_asyncOperation.isDone)
{
// if (_addAssetCallback != null)
// {
// _addAssetCallback(_sceneAsset); //加入缓存,以便离开战斗释放
// }
//
// _addAssetCallback?.Invoke(_sceneAsset);
return NTaskStatus.Success;
}
}
return NTaskStatus.Running;
}
}
}