Пример #1
0
        // -------------------------------------------------------------------------------
        // OnClientMessageRequestPlayerSwitchServer
        // -------------------------------------------------------------------------------
        public void OnClientMessageRequestPlayerSwitchServer(NetworkConnection conn, ClientMessageRequestPlayerSwitchServer msg)
        {
            if (NetworkServer.active)
            {
                return;
            }

            networkManager.StopClient();
            NetworkClient.Shutdown();
            OpenMMO.Network.NetworkManager.Shutdown();
            OpenMMO.Network.NetworkManager.singleton = networkManager;
            autoSelectPlayer = msg.playername;

            string sceneName = "";

            foreach (NetworkZoneTemplate template in networkZones)
            {
                if (msg.zonename == template.name)
                {
                    sceneName = template.scene.SceneName;
                }
            }

            SceneManager.LoadScene(sceneName);
            autoConnectClient = true;
        }
Пример #2
0
        // ====================== MESSAGE EVENT HANDLERS =================================

        // -------------------------------------------------------------------------------
        // OnServerMessageResponsePlayerSwitchServer
        // @Client
        // -------------------------------------------------------------------------------
        public void OnServerMessageResponsePlayerSwitchServer(NetworkConnection conn, ServerMessageResponsePlayerSwitchServer msg)
        {
            networkManager.StopClient();

            NetworkClient.Shutdown();
            OpenMMO.Network.NetworkManager.Shutdown();
            OpenMMO.Network.NetworkManager.singleton = networkManager;

            autoPlayerName = msg.playername;

            for (int i = 0; i < subZones.Count; i++)
            {
                if (msg.zonename == subZones[i].name)
                {
                    zoneIndex             = i;
                    networkTransport.port = GetZonePort;
                    autoConnectClient     = true;
                    Invoke(nameof(ReloadScene), 0.25f);

                    debug.LogFormat(this.name, nameof(OnServerMessageResponsePlayerSwitchServer), i.ToString());                     //DEBUG

                    return;
                }
            }

            debug.LogFormat(this.name, nameof(OnServerMessageResponsePlayerSwitchServer), "NOT FOUND");             //DEBUG
        }
Пример #3
0
        // ====================== MESSAGE EVENT HANDLERS =================================

        // -------------------------------------------------------------------------------
        // OnServerMessageResponsePlayerSwitchServer
        // @Client
        // -------------------------------------------------------------------------------
        public void OnServerMessageResponsePlayerSwitchServer(NetworkConnection conn, ServerMessageResponsePlayerSwitchServer msg)
        {
            if (NetworkServer.active)
            {
                return;
            }

            networkManager.StopClient();

            NetworkClient.Shutdown();
            OpenMMO.Network.NetworkManager.Shutdown();
            OpenMMO.Network.NetworkManager.singleton = networkManager;

            autoPlayerName = msg.playername;

            for (int i = 0; i < subZones.Count; i++)
            {
                if (msg.zonename == subZones[i].name)
                {
                    zoneIndex             = i;
                    networkTransport.port = GetZonePort;
                    autoConnectClient     = true;
                    Invoke(nameof(ReloadScene), 0.25f);
                    return;
                }
            }
        }