Пример #1
0
    public void SetScreen(string Index)
    {
        PreviousScreen = CurrentScreen;
        CurrentScreen  = Index;



        //Debug.Log("Current Screen : " + MenuScreens[CurrentScreen].Screen.name);

        for (int i = 0; i < MenuScreens.Count; i++)
        {
            if (MenuScreens[i].Title == Index)
            {
                if (MenuScreens[i].SceneIndex != -1 && SceneManager.GetActiveScene().buildIndex != MenuScreens[i].SceneIndex)
                {
                    if (MenuScreens[i].SceneIndex == 0)
                    {
                        if (NetworkServer.active && NetworkClient.isConnected)
                        {
                            OM.StopHost();
                        }
                        else if (NetworkClient.isConnected)
                        {
                            OM.StopClient();
                        }
                    }

                    SceneManager.LoadScene(MenuScreens[i].SceneIndex, LoadSceneMode.Single);
                    return;
                }

                //Debug.Log(Index);

                MenuScreens[i].Screen.SetActive(true);

                /*
                 * if(MenuScreens[i].PausesGame != -1)
                 * {
                 *  GameInfo.Paused = MenuScreens[i].PausesGame == 1;
                 * }*/

                //GetComponent<Camera>().fieldOfView = MenuScreens[i].FOV;

                if (GameInfo.Paused)
                {
                    Time.timeScale = 0f;
                }
                else
                {
                    Time.timeScale = 1f;
                }

                VC.BackgroundBlur(MenuScreens[i].BlurBackground);
                if (MenuScreens[i].LockCursor)
                {
                    Cursor.lockState = CursorLockMode.Locked;
                    Cursor.visible   = false;
                }
                else
                {
                    Cursor.lockState = CursorLockMode.None;
                    Cursor.visible   = true;
                }
            }
            else
            {
                MenuScreens[i].Screen.SetActive(false);
            }
        }
    }