Example #1
0
        public void OnSwitchScene()
        {
            if (NetworkManager.Singleton && NetworkManager.Singleton.IsListening)
            {
                OnSceneSwitchBegin?.Invoke();
                m_ExitingScene = true;
                ExitingNow     = true;
                m_CurrentSceneSwitchProgress = NetworkManager.Singleton.SceneManager.SwitchScene(m_SceneToSwitchTo);

                m_CurrentSceneSwitchProgress.OnComplete += CurrentSceneSwitchProgress_OnComplete;
            }
        }
Example #2
0
    /// <summary>
    /// Switches to a new scene
    /// </summary>
    /// <param name="scenename"></param>
    public void SwitchScene(string scenename)
    {
        if (NetworkManager.Singleton.IsListening)
        {
            m_SceneProgress = NetworkSceneManager.SwitchScene(scenename);

            m_SceneProgress.OnClientLoadedScene += SceneProgress_OnClientLoadedScene;
        }
        else
        {
            SceneManager.LoadSceneAsync(scenename);
        }
    }
Example #3
0
 /// <summary>
 /// ExitAndLoadStartMenu
 /// This should be invoked upon a user exiting a multiplayer game session.
 /// </summary>
 public void ExitAndLoadStartMenu()
 {
     if (m_SceneProgress != null)
     {
         m_SceneProgress = null;
     }
     if (OnClientLoadedScene != null)
     {
         OnClientLoadedScene = null;
     }
     SetSceneState(SceneTransitionHandler.SceneStates.Start);
     SceneManager.LoadScene(1);
 }
    private void StartHost()
    {
        Destroy(transform.parent.gameObject, 0.1f);
        Destroy(gameObject);
        foreach (GameObject obj in destroyList)
        {
            Destroy(obj);
        }

        NetworkingManager.Singleton.StartHost();
        Debug.Log("Starting map...");
        SceneSwitchProgress ssp = NetworkSceneManager.SwitchScene("SceneBuilder");

        ssp.OnComplete += (bool err) => {
            if (err)
            {
                Debug.Log("We timed out :(");
                return;
            }
            GameObject Map = Instantiate(MapPrefab);
            Map.transform.position = new Vector3(30f, 0, 0);
            Map.GetComponent <NetworkedObject>().Spawn();
        };
    }