public void UnloadScene(string sceneKey) { var queuedMessage = new QueuedSceneMessage() { type = QueuedSceneMessage.Type.UNLOAD_PARCEL, message = sceneKey }; ProfilingEvents.OnMessageWillQueue?.Invoke(MessagingTypes.SCENE_DESTROY); Environment.i.messaging.manager.ForceEnqueueToGlobal(MessagingBusType.INIT, queuedMessage); Environment.i.messaging.manager.RemoveController(sceneKey); IWorldState worldState = Environment.i.world.state; if (worldState.loadedScenes.ContainsKey(sceneKey)) { ParcelScene sceneToUnload = worldState.GetScene(sceneKey) as ParcelScene; sceneToUnload.isPersistent = false; if (sceneToUnload is GlobalScene globalScene && globalScene.isPortableExperience) { OnNewPortableExperienceSceneRemoved?.Invoke(sceneKey); } } }
public void UnloadAllScenesQueued() { var queuedMessage = new QueuedSceneMessage() { type = QueuedSceneMessage.Type.UNLOAD_SCENES }; ProfilingEvents.OnMessageWillQueue?.Invoke(MessagingTypes.SCENE_DESTROY); Environment.i.messaging.manager.ForceEnqueueToGlobal(MessagingBusType.INIT, queuedMessage); }
public void UpdateParcelScenes(string decentralandSceneJSON) { var queuedMessage = new QueuedSceneMessage() { type = QueuedSceneMessage.Type.UPDATE_PARCEL, message = decentralandSceneJSON }; ProfilingEvents.OnMessageWillQueue?.Invoke(MessagingTypes.SCENE_UPDATE); Environment.i.messaging.manager.ForceEnqueueToGlobal(MessagingBusType.INIT, queuedMessage); }
public void UnloadScene(string sceneKey) { var queuedMessage = new QueuedSceneMessage() { type = QueuedSceneMessage.Type.UNLOAD_PARCEL, message = sceneKey }; ProfilingEvents.OnMessageWillQueue?.Invoke(MessagingTypes.SCENE_DESTROY); Environment.i.messaging.manager.ForceEnqueueToGlobal(MessagingBusType.INIT, queuedMessage); Environment.i.messaging.manager.RemoveController(sceneKey); }
public void LoadParcelScenes(string decentralandSceneJSON) { var queuedMessage = new QueuedSceneMessage() { type = QueuedSceneMessage.Type.LOAD_PARCEL, message = decentralandSceneJSON }; ProfilingEvents.OnMessageWillQueue?.Invoke(MessagingTypes.SCENE_LOAD); Environment.i.messaging.manager.ForceEnqueueToGlobal(MessagingBusType.INIT, queuedMessage); if (VERBOSE) { Debug.Log($"{Time.frameCount} : Load parcel scene queue {decentralandSceneJSON}"); } }
public void ForceEnqueueToGlobal(MessagingBusType busId, QueuedSceneMessage queuedMessage) { messagingControllers[GLOBAL_MESSAGING_CONTROLLER].ForceEnqueue(busId, queuedMessage); }
public void ForceEnqueue(MessagingBusType busType, QueuedSceneMessage queuedMessage) { messagingBuses[busType].Enqueue(queuedMessage); }