using Input; using Pixelplacement; using System.Collections; using UnityEngine; using UnityEngine.Events; using static Input.PlayerTouchController; public class TakePhotoState : State { public Transform playerTargetObject; private GameObject playerCharacter; private PlayerTouchController playerTouchController; private Vector3 newPlayerPosition; private // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { } // Update is called once per frame void Update() { } void OnEnable() { playerCharacter = GameObject.FindWithTag("Player"); playerTouchController = playerCharacter.GetComponent(); 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().SetTrigger("TakePhoto"); playerTouchController.OnArrivedAtTarget -= PlayerHasArrived; } }