コード例 #1
0
    private IEnumerator ChangeScene(SceneEnum scene)
    {
        while (isFading)
        {
            yield return(0);
        }

        SceneManager.LoadScene(PredefinedScene.GetName(scene));
    }
コード例 #2
0
    public static SceneEnum GetScene(string name)
    {
        PredefinedScene predefinedScene = Array.Find(MainManager.Instance.scenes, s => s.name == name);

        if (predefinedScene == null)
        {
            throw new NullReferenceException("Unable to find '" + name + "' scene!");
        }

        return(predefinedScene.scene);
    }
コード例 #3
0
 void Update()
 {
     switch (PredefinedScene.GetScene(MainManager.ActiveSceneName))
     {
     case SceneEnum.Game:
         // TODO: Implement a proper Pause UI with quit button
         if (Input.GetButtonDown("Cancel"))
         {
             QuitGame();
         }
         break;
     }
 }
コード例 #4
0
    private IEnumerator UnmuteSceneLayer(Scene scene)
    {
        while (!AudioLayersManager.InitializedAudioLayers)
        {
            yield return(new WaitForSeconds(0.1f));
        }

        AudioLayersManager.Instance.Reset();

        switch (PredefinedScene.GetScene(scene.name))
        {
        case SceneEnum.MainMenu:
            AudioLayersManager.Instance.Unmute("MainMenu-Loop");
            break;

        case SceneEnum.Game:
            AudioLayersManager.Instance.Unmute("Gameplay-Loop");
            break;
        }
    }