Пример #1
0
        void UpdateSequence()
        {
            CheckPointControllerComponent ch = _pathControllerComponent.GetCurrentCheckPoint();

            PlayerControllerComponent.Instance.SetState(CharacterAction.Idle);
            MacroRegognizerComponent.InputSequence = ch.InputsSequences.ToArray();
            StoryLineComponent.SetCurrentText(ch.StartMessage);
            BPMRate = ch.BPM;
            MacroRegognizerComponent.AcceptanceArea = ch.AcceptanceArea;

            switch (ch.OnFailure)
            {
            case OnFailure.Nothing:
                MacroRegognizerComponent.OnMacroFailed = null;
                break;

            case OnFailure.Backtrack:
                MacroRegognizerComponent.OnMacroFailed = new UnityEvent();
                MacroRegognizerComponent.OnMacroFailed.AddListener(GotoPreviousCheckpoint);
                break;
            }
            MacroRegognizerComponent.OnMacroOk.AddListener(GotoNextCheckpoint);
            switch (ch.OnSucess)
            {
            case OnSuccess.GotoNextNode:
                MacroRegognizerComponent.OnMacroOk = new UnityEvent();
                MacroRegognizerComponent.OnMacroOk.AddListener(GotoNextCheckpoint);
                break;

            case OnSuccess.MusicMiniGame:

                MacroRegognizerComponent.OnMacroOk = new UnityEvent();
                MacroRegognizerComponent.OnMacroOk.AddListener(delegate
                {
                    SoundController.Instance.ClearStacks();
                    SoundController.Instance.AddAudioClip(MinigameAudioClip, CharacterAction.Play);
                    GameObject.Find("UI").SetActive(false);
                    GameObject temp = (GameObject)Instantiate(Resources.Load("RitualInstance"), Vector3.zero, Quaternion.identity);
                    _miniGame       = temp.GetComponent <RitualInstance>();
                    PlayerControllerComponent.Instance.SetState(CharacterAction.Play);
                });

                break;
            }

            if (ch.MusicToPlay != null)
            {
                SoundController.Instance.AddAudioClip(ch.MusicToPlay, ch.InputsSequences[0]);
            }
        }
Пример #2
0
 private void CheckMiniGameState()
 {
     if (_miniGame != null)
     {
         if (_miniGame.RitualTerminated)
         {
             if (!_miniGame.RitualSuccess)
             {
                 Destroy(_miniGame.gameObject);
                 GameObject temp =
                     (GameObject)
                     Instantiate(Resources.Load("RitualInstance"), Vector3.zero, Quaternion.identity);
                 _miniGame = temp.GetComponent <RitualInstance>();
             }
             else
             {
                 SceneManager.LoadScene(2);
             }
         }
     }
 }