private void SceneService_OnFinishedLoading(Scenes.SceneLoadInfo loadedScene)
 {
     if (!ServiceLocator.PoolService.IsGameObjectPooled(gameObject))
     {
         SpawnPrefab(false);
     }
 }
 // Used only when the client finishes loading before the host does.
 private void Host_OnFinishedLoading(Scenes.SceneLoadInfo obj)
 {
     ServiceLocator.SceneService.OnFinishedLoading -= Host_OnFinishedLoading;
     if (currentState == NetworkConnectionState.Waiting)
     {
         Host_OnReady();
     }
 }
        private void SceneService_OnFinishedLoading(Scenes.SceneLoadInfo loadedScene)
        {
            if (loadedScene.sceneDefinition.ObjectReference.sceneSettings.defaultGameModeInfo == null)
            {
                return;
            }

            currentGameMode = loadedScene.sceneDefinition.ObjectReference.sceneSettings.defaultGameModeInfo.GameSetup();
            OnFinishedGameSetup(currentGameMode);
        }
        private void Client_Receive_OnLoadScene(NetworkReader reader)
        {
            if (networkSocket.IsHost)
            {
                DevTools.Logger.LogError(NetworkService.NetworkLog, "Client Method called on a host.");
                return;
            }

            currentState = NetworkConnectionState.Loading;
            friendlyName = reader.ReadString();
            Scenes.SceneLoadInfo loadInfo = new Scenes.SceneLoadInfo(reader);
            ServiceLocator.SceneService.LoadScene(loadInfo);
        }
        // Called when the client has finished loading the scene.
        private void Client_OnFinishedLoading(Scenes.SceneLoadInfo sceneLoadInfo)
        {
            if (networkSocket.IsHost)
            {
                DevTools.Logger.LogError(NetworkService.NetworkLog, "Client Method called on a host.");
                return;
            }

            // Tell host we have finished loading.
            currentState = NetworkConnectionState.Waiting;
            NetworkWriter writer = networkSocket.Writer.Setup(networkSocket.ReliableSequencedChannel, MessageTypes.BRF_Host_Receive_OnFinishedLoading);

            writer.Write(ServiceLocator.PlatformService.Username); // Tell host what our name is.
            networkSocket.Writer.Send(this, () => "Send host finished loading");
        }
        //
        // Level Load Events
        //

        // Called when the host starts to load a new scene.
        private void Host_OnLoadScene(Scenes.SceneLoadInfo sceneLoadInfo)
        {
            if (!networkSocket.IsHost)
            {
                DevTools.Logger.LogError(NetworkService.NetworkLog, "Host Method called on a client.");
                return;
            }

            currentState = NetworkConnectionState.Loading;
            NetworkWriter writer = networkSocket.Writer.Setup(networkSocket.ReliableSequencedChannel, MessageTypes.BRF_Client_Receive_OnLoadScene);

            writer.Write(ServiceLocator.PlatformService.Username); // Tell client what our name is.
            sceneLoadInfo.NetworkWrite(writer);
            networkSocket.Writer.Send(this, () => "Send Client SceneLoadInfo");
        }
Ejemplo n.º 7
0
 private void SceneService_OnLoadScene(Scenes.SceneLoadInfo newScene)
 {
     ShutdownGameMode();
 }