public override void Enter() { _stateEnterTime = Time.time; _owner.position = _owner.forward * 2000f; _movement.Deactivate(); }
public override void Enter() { base.Enter(); _movementBehaviour.Deactivate(); _movementBehaviour.Activate(); _stateEnterTime = Time.time; _animationBehaviour.PlayIdle(); DOVirtual.DelayedCall(UnityEngine.Random.Range(3f, 5f), () => { _animationBehaviour.PlayAgony(); }); }
public override void Enter() { base.Enter(); _movementBehaviour.Deactivate(); _animationBehaviour.PlayCatch(); CharacterInputBehaviour characterInputBehaviour = _player.GetComponent <CharacterInputBehaviour>(); characterInputBehaviour.enabled = false; Vector3 targetPosition = _player.position + _player.forward * 0.75f; targetPosition = new Vector3(targetPosition.x, 0f, targetPosition.z); float moveStartTime = Time.time; Vector3 startForward = _owner.forward; _owner.DOMove(targetPosition, 0.5f).OnUpdate(() => { _owner.forward = Vector3.Lerp(startForward, -_player.forward, (Time.time - moveStartTime) / 0.5f); }).OnComplete(() => { _owner.GetComponentInChildren <Light>(true).gameObject.SetActive(true); Transform camera = _player.GetComponentInChildren <Camera>().transform; _owner.forward = -camera.forward; _player.LookAt(_owner.transform.position + Vector3.up * 1.5f); camera.LookAt(_owner.transform.position + Vector3.up * 1.5f); _animationBehaviour.PlayAgony(); AiBehaviour.OnPlayerCatched?.Invoke(); }); }