private void HandlePlayerEnteredPuzzleArea(CandlePuzzleController puzzleController) { if (puzzleController.IsSolved == false) { this.StartPuzzleButton.gameObject.SetActive(true); this.CurrentProximityPuzzle = puzzleController; } }
private void HandlePuzzleSolved(CandlePuzzleController puzzleController) { if (this.PlayerController.SolvedPuzzlesInHand.Contains(puzzleController)) { Debug.LogError("should not happen"); } else { StartCoroutine(this.DoPuzzleSolvedCinematic(puzzleController)); this.PlayerController.SolvedPuzzlesInHand.Add(puzzleController); this.PuzzleExitButton.SetActive(false); this.PuzzleSpecialInfoPanel.SetActive(false); } }
private IEnumerator DoPuzzleSolvedCinematic(CandlePuzzleController puzzleController) { yield return(new WaitForSeconds(0.7f)); this.CameraController.TransitionToRig(this.PuzzleSolvedRig); yield return(new WaitForSeconds(1.3f)); //puzzleController.SheetMusicPiece.gameObject.SetActive(true); puzzleController.SheetMusicPiece.CrossFadeAlpha(1f, 1.0f, true); yield return(new WaitForSeconds(0.5f)); this.MusicAudio.PlayOneShot(puzzleController.SolvedClip); yield return(new WaitForSeconds(2.0f)); this.CameraController.TransitionToRig(this.PlayerController.CameraRig); }
private void StartPuzzle(CandlePuzzleController puzzleController) { puzzleController.IsActivePuzzle = true; this.CameraController.TransitionToRig(puzzleController.CameraRig); this.PlayerController.FreezeMotion = true; this.PuzzleExitButton.SetActive(true); this.StartPuzzleButton.SetActive(false); if (puzzleController.ShowSpecialInfo == true) { this.PuzzleSpecialInfoPanel.SetActive(true); } if (puzzleController.PuzzleAudio != null && puzzleController.PuzzleAudio.clip != null) { puzzleController.PuzzleAudio.Play(); } }
private void HandlePlayerLeftPuzzleArea(CandlePuzzleController puzzleController) { this.StartPuzzleButton.gameObject.SetActive(false); this.CurrentProximityPuzzle = null; }