private void AddOrUpdateLoadedScene(SceneLoadingStatus scene) { SceneLoadingStatus existingScene = loadedScenes.FirstOrDefault(x => x.sceneId == scene.sceneId); if (existingScene == null) { loadedScenes.Add(scene); } else { existingScene.componentsLoading = scene.componentsLoading; } }
private void Scene_OnStateRefreshed(ParcelScene scene) { SceneLoadingStatus refreshedScene = new SceneLoadingStatus { sceneId = scene.GetInstanceID(), componentsLoading = scene.sceneLifecycleHandler.disposableNotReadyCount }; switch (scene.sceneLifecycleHandler.state) { case SceneLifecycleHandler.State.WAITING_FOR_COMPONENTS: AddOrUpdateLoadedScene(refreshedScene); break; case SceneLifecycleHandler.State.READY: scene.sceneLifecycleHandler.OnStateRefreshed -= Scene_OnStateRefreshed; break; } RefreshFeedbackMessage(); }
public int Count(SceneLoadingStatus which) { return(_queue.Where(x => x.state == which).Count()); }
public RequestQueueMgrEnumerator GetTypeEnumerator(SceneLoadingStatus which = SceneLoadingStatus.ePending) { return(new RequestQueueMgrEnumerator(_queue.Where(x => x.state == which).ToList())); }