Esempio n. 1
0
        /// <summary>
        /// Makes the server change to the menu scene, and bring all clients with it
        /// </summary>
        public void ReturnToMenu(MenuPage returnPage)
        {
            MainMenuUI.s_ReturnPage = returnPage;

            // Update will change scenes once loading screen is visible
            m_SceneChangeMode = SceneChangeMode.Menu;

            if (s_IsServer && state == NetworkState.InGame)
            {
                // Clear all client's ready states
                ClearAllReadyStates();

                // Tell NetworkPlayers to show their loading screens
                for (int i = 0; i < connectedPlayers.Count; ++i)
                {
                    NetworkPlayer player = connectedPlayers[i];
                    if (player != null)
                    {
                        player.RpcPrepareForLoad();
                    }
                }
            }
            else
            {
                // Show loading screen
                LoadingModal loading = LoadingModal.s_Instance;

                if (loading != null)
                {
                    loading.FadeIn();
                }
            }
        }
Esempio n. 2
0
        public void ReturnToMenu(MenuPage returnPage)
        {
            s_ReturnPage = returnPage;

            m_SceneChangeMode = SceneChangeMode.Menu;
            Debug.Log(m_SceneChangeMode);

            if (s_IsServer && state == GameState.InGame)
            {
                for (int i = 0; i < lobbySlots.Length; ++i)
                {
                    if (lobbySlots[i] != null)
                    {
                        (lobbySlots[i] as LobbyPlayer).RpcUpdateCountdown();
                    }
                }
            }

            else
            {
                LoadingModal loading = LoadingModal.s_Instance;

                if (loading != null)
                {
                    loading.FadeOut();
                }
            }
        }
Esempio n. 3
0
        void Start()
        {
            LoadingModal modal = LoadingModal.s_Instance;

            if (modal != null)
            {
                modal.FadeOut();
            }
            _lobbyHooks  = GetComponent <Prototype.NetworkLobby.LobbyHook>();
            currentPanel = mainMenuPanel;

            GetComponent <Canvas>().enabled = true;

            DontDestroyOnLoad(gameObject);

            switch (s_ReturnPage)
            {
            case MenuPage.Home:
            default:
                ShowDefaultPanel();
                break;

            case MenuPage.Lobby:
                ShowLobbyPanel();
                break;
            }
        }
Esempio n. 4
0
    public void DoIfNetworkReady(Action task)
    {
        if (task == null)
        {
            throw new ArgumentNullException("task");
        }

        NetworkManager netManager = NetworkManager.instance;

        if (netManager.isNetworkActive)
        {
            waitTask = task;

            LoadingModal modal = LoadingModal.instance;
            if (modal != null)
            {
                modal.FadeIn();
            }

            readyToFireTask           = false;
            netManager.clientStopped += OnClientStopped;
        }
        else
        {
            task();
        }
    }
Esempio n. 5
0
        public void RpcPrepareForLoad()
        {
            if (isLocalPlayer)
            {
                // Show loading screen
                LoadingModal loading = LoadingModal.s_Instance;

                if (loading != null)
                {
                    loading.FadeIn();
                }
            }
        }
Esempio n. 6
0
 /// <summary>
 /// Makes the server change to the menu scene, and bring all clients with it
 /// </summary>
 public void ReturnToMenu(MenuPage returnPage)
 {
     MainMenuUI.s_ReturnPage = returnPage;
     m_SceneChangeMode       = SceneChangeMode.Menu;
     {
         // Show loading screen
         LoadingModal loading = LoadingModal.s_Instance;
         if (loading != null)
         {
             loading.FadeIn();
         }
     }
 }
Esempio n. 7
0
        /// <summary>
        /// Progress to game scene when in transitioning state
        /// </summary>
        protected virtual void Update()
        {
            if (m_SceneChangeMode != SceneChangeMode.None)
            {
                LoadingModal modal = LoadingModal.s_Instance;

                bool ready = true;
                if (modal != null)
                {
                    ready = modal.readyToTransition;

                    if (!ready && modal.fader.currentFade == Fade.None)
                    {
                        modal.FadeIn();
                    }
                }

                if (ready)
                {
                    if (m_SceneChangeMode == SceneChangeMode.Menu)
                    {
                        if (state != NetworkState.Inactive)
                        {
                            ServerChangeScene(s_LobbySceneName);
                            if (gameType == NetworkGameType.Singleplayer)
                            {
                                state = NetworkState.Pregame;
                            }
                            else
                            {
                                state = NetworkState.InLobby;
                            }
                        }
                        else
                        {
                            SceneManager.LoadScene(s_LobbySceneName);
                        }
                    }
                    else
                    {
                        MapDetails map = GameSettings.s_Instance.map;

                        ServerChangeScene(map.sceneName);

                        state = NetworkState.InGame;
                    }

                    m_SceneChangeMode = SceneChangeMode.None;
                }
            }
        }
Esempio n. 8
0
    protected void Start()
    {
        LoadingModal modal = LoadingModal.instance;

        if (modal != null)
        {
            modal.FadeOut();
        }

        //Used to return to correct page on return to menu
        switch (returnPage)
        {
        case MenuPage.Home:
        default:
            ShowDefaultPanel();
            break;
        }
    }