Files
AppleHillsProduction/Assets/Scripts/StateMachines/Quarry/AnneLise/TakePhotoState.cs
2025-10-17 16:15:43 +02:00

51 lines
1.5 KiB
C#

using Input;
using Pixelplacement;
using System.Collections;
using UnityEngine;
using UnityEngine.Audio;
using UnityEngine.Events;
using static Input.PlayerTouchController;
public class TakePhotoState : State
{
public AudioSource audioPlayer;
public AudioResource clipToPlay;
public Transform playerTargetObject;
private GameObject playerCharacter;
private PlayerTouchController playerTouchController;
private Vector3 newPlayerPosition;
void OnEnable()
{
playerCharacter = GameObject.FindWithTag("Player");
playerTouchController = playerCharacter.GetComponent<PlayerTouchController>();
playerTouchController.OnArrivedAtTarget += PlayerHasArrived;
newPlayerPosition = new Vector3(playerTargetObject.transform.position.x, playerTargetObject.transform.position.y, playerTargetObject.transform.position.z);
playerTouchController.InterruptMoveTo();
playerTouchController.MoveToAndNotify(newPlayerPosition);
InputManager.Instance.SetInputMode(InputMode.InputDisabled);
}
// When the player has arrived at the bush do Animator.SetTrigger(Takephoto) and whatevs
public void PhotoTaken()
{
ChangeState("Hidden");
InputManager.Instance.SetInputMode(InputMode.Game);
}
void PlayerHasArrived()
{
GetComponent<Animator>().SetTrigger("TakePhoto");
playerTouchController.OnArrivedAtTarget -= PlayerHasArrived;
}
public void PlayPhotoSoundBite()
{
audioPlayer.resource = clipToPlay;
audioPlayer.Play();
}
}