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]); } }
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); } } } }