예제 #1
0
 public void                            RpcRequestServerShutdown(int intConnID, int intUserID)
 {
     Net.IsQuitting = true;
     Status.Status  = "Server requested that Applications Quit (for maintenance).";
     Net.ClientDisconnect();
     App.QuitApplication();
 }
    private void                                                    DisconnectFromNetwork()
    {
        if (Net.IsConnected)
        {
            if (Net.IsClient)
            {
                Debug.Log("Disconnect Client");
                Net.ClientDisconnect();
            }
            else
            {
                if (Net.IsHost)
                {
                    Debug.Log("Disconnect Host");
                }
                else
                {
                    Debug.Log("Disconnect Server");
                }
                Net.ServerDisconnect();
            }
        }
        else
        {
            Debug.Log("Not Connected");
        }

        transform.GetChild(0).GetComponent <Text>().text = "Connect";
    }
예제 #3
0
 public void                    OnClientOfflineClick()
 {
     // INSTANTIATE AN UNCONNECTED USER/PLAYER OBJECT
     Net.ClientDisconnect();
     App.UserObj = (GameObject)GameObject.Instantiate(Net.playerPrefab, Vector3.zero, Quaternion.identity);
     App.GameUser.SetUpUserObject();
     App.IsWorkingOffline = true;
     PanelManager.Instance.ShowLogInPanel();
 }
예제 #4
0
    public void                    Reconnect()
    {
        Net.ClientDisconnect();
        this.gameObject.SetActive(true);

        ConnectionProgressBar.Progress = 0;
        ConnectionProgressBar.Caption  = "Connecting...";
        Display(true);
        StartCoroutine(DelayedReconnect());
    }
예제 #5
0
 public void                                    LogOff()
 {
                     #if USES_NETWORKMANAGER
     if (Net != null && Net.IsConnected)
     {
         if (Net.IsHost || Net.ForceHostMode)
         {
             Net.HostDisconnect();
         }
         else if (Net.IsClient)
         {
             Net.ClientDisconnect();
         }
         else if (Net.IsServer)
         {
             Net.ServerDisconnect();
         }
         PanelManager.Instance.ShowConnectPanel();
     }
                     #else
     QuitApplication();
                     #endif
 }
예제 #6
0
    private IEnumerator             PrivQuitApplication()
    {
        // WAITING FOR PANELS AND SOUNDS TO FADE OUT
        yield return(new WaitForSeconds(2.5f));

                        #if USES_NETWORKMANAGER
        if (Net != null && Net.IsConnected)
        {
            if (Net.IsClient)
            {
                Net.ClientDisconnect();
            }
            else if (Net.IsServer)
            {
                Net.ServerDisconnect();
            }
            else if (Net.IsHost)
            {
                Net.HostDisconnect();
            }
        }
                        #endif
                        #if USES_DATABASEMANAGER
        if (Database != null && Database.IsConnectedCheck)
        {
            Database.CloseDatabase();
        }
                        #endif

                        #if UNITY_EDITOR
        UnityEditor.EditorApplication.isPlaying = false;
                        #elif UNITY_WEBPLAYER
        Application.OpenURL(webplayerQuitURL);
                        #else
        Application.Quit();
                        #endif
    }