Exemplo n.º 1
0
        public static void LoadSceneCommand(string[] args)
        {
            NetworkManagerMode mode = NetworkManager.singleton.mode;

            TCScene scene = FindSceneInfo(args[0]);

            //Scene doesn't exist
            if (scene == null)
            {
                Logger.Error("The scene '{@Scene}' doesn't exist!", args[0]);
                return;
            }

            //This scene cannot be loaded to
            if (!scene.canLoadTo)
            {
                Logger.Error("You cannot load to this scene!");
                return;
            }

            switch (mode)
            {
            //We are in client mode
            case NetworkManagerMode.ClientOnly:
                //Disconnect from current server
                NetworkManager.singleton.StopHost();

                //Load the scene
                Logger.Info("Changing scene to {@Scene}...", scene.scene);
                LoadScene(scene);
                break;

            //We are server, so we will tell the server and clients to change scene
            case NetworkManagerMode.ServerOnly:
                Logger.Info("Changing scene to {@Scene}...", scene.scene);
                NetworkManager.singleton.ServerChangeScene(scene.scene);
                break;

            case NetworkManagerMode.Offline:
                Logger.Info("Changing scene to {@Scene}...", scene.scene);
                LoadScene(scene);
                break;
            }
        }
Exemplo n.º 2
0
    void OnApplicationPause(bool pause)
    {
        if (pause)
        {
            resumeAs = mode;

            switch (mode)
            {
            case NetworkManagerMode.Host:
                StopHost();
                break;

            case NetworkManagerMode.ServerOnly:
                StopServer();
                break;

            case NetworkManagerMode.ClientOnly:
                StopClient();
                break;
            }
        }

        else
        {
            switch (resumeAs)
            {
            case NetworkManagerMode.Host:
                StartHost();
                App.discovery.AdvertiseServer();
                break;

            case NetworkManagerMode.ServerOnly:
                StartServer();
                App.discovery.AdvertiseServer();
                break;

            case NetworkManagerMode.ClientOnly:
                SetUri(uri);     // only to fulfill our contract
                StartClient(uri);
                break;
            }
        }
    }
 /// <summary>
 /// Sets the NetworkManager to host mode when invoked via UI button
 /// </summary>
 public void OnCreateHost()
 {
     m_CurrentNetworkManagerMode = NetworkManagerMode.Host;
     InitializeNetworkManager();
 }
 /// <summary>
 /// Sets the NetworkManager to server mode when invoked via UI button
 /// </summary>
 public void OnCreateServer()
 {
     m_CurrentNetworkManagerMode = NetworkManagerMode.Server;
     InitializeNetworkManager();
 }
 /// <summary>
 /// Sets the NetworkManager to client mode when invoked via UI button
 /// </summary>
 public void OnCreateClient()
 {
     m_CurrentNetworkManagerMode = NetworkManagerMode.Client;
     InitializeNetworkManager();
 }