コード例 #1
0
 private void HandlePlayerEnteredPuzzleArea(CandlePuzzleController puzzleController)
 {
     if (puzzleController.IsSolved == false)
     {
         this.StartPuzzleButton.gameObject.SetActive(true);
         this.CurrentProximityPuzzle = puzzleController;
     }
 }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
    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);
    }
コード例 #4
0
    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();
        }
    }
コード例 #5
0
 private void HandlePlayerLeftPuzzleArea(CandlePuzzleController puzzleController)
 {
     this.StartPuzzleButton.gameObject.SetActive(false);
     this.CurrentProximityPuzzle = null;
 }