1
This commit is contained in:
@@ -58,6 +58,16 @@ namespace BITKit.SceneManagement
|
||||
remove => SceneService.OnSceneLoaded -= value;
|
||||
}
|
||||
|
||||
public void RegisterLoadTaskAsync(Func<UniTask> task)
|
||||
{
|
||||
_sceneServiceImplementation.RegisterLoadTaskAsync(task);
|
||||
}
|
||||
|
||||
public void UnRegisterLoadTaskAsync(Func<UniTask> task)
|
||||
{
|
||||
_sceneServiceImplementation.UnRegisterLoadTaskAsync(task);
|
||||
}
|
||||
|
||||
public event Action<string> OnUnloadScene
|
||||
{
|
||||
add => _sceneServiceImplementation.OnUnloadScene += value;
|
||||
@@ -198,9 +208,15 @@ namespace BITKit.SceneManagement
|
||||
OnSceneLoadProgress?.Invoke(sceneName, progress);
|
||||
}
|
||||
LoadedObjects.Add(sceneName, handle.SceneObject);
|
||||
|
||||
OnSceneLoadProgress?.Invoke(sceneName, 1);
|
||||
await Task.Delay(384, cancellationToken);
|
||||
|
||||
foreach (var x in _onSceneLoadedAsyncList.ToArray())
|
||||
{
|
||||
await x.Invoke();
|
||||
if (destroyCancellationToken.IsCancellationRequested) return;
|
||||
}
|
||||
|
||||
OnSceneLoaded?.Invoke(sceneName);
|
||||
stopwatchWatcher.Stop();
|
||||
// if (activateOnLoad is false)
|
||||
@@ -252,6 +268,16 @@ namespace BITKit.SceneManagement
|
||||
remove => OnSceneLoaded -= value;
|
||||
}
|
||||
|
||||
private readonly List<Func<UniTask>> _onSceneLoadedAsyncList=new();
|
||||
public void RegisterLoadTaskAsync(Func<UniTask> task)
|
||||
{
|
||||
_onSceneLoadedAsyncList.Add(task);
|
||||
}
|
||||
public void UnRegisterLoadTaskAsync(Func<UniTask> task)
|
||||
{
|
||||
_onSceneLoadedAsyncList.Remove(task);
|
||||
}
|
||||
|
||||
public event Action<string> OnUnloadScene;
|
||||
public event Action<string> OnSceneUnloaded;
|
||||
}
|
||||
|
Reference in New Issue
Block a user