using UnityEditor.Experimental.GraphView; using UnityEngine; public class EnemyAI : Character { protected override void OnDeath() { } protected override void SetClimbingAnimation(bool isClimbing) { } protected override void SetWalkingAnimation(bool isWalking) { } private void Update() { float horizontal = 0; float vertical = 0; Vector2 directionToPlayer = Player.Instance.transform.position - transform.position; directionToPlayer.Normalize(); float verticalDistance = Player.Instance.transform.position.y - transform.position.y; if (Mathf.Abs(Player.Instance.transform.position.y - transform.position.y) < 0.1f) { horizontal = directionToPlayer.x; } else if (verticalDistance>0 && isCanClimbUp && isAllowVertical) { vertical =VerticalMove(verticalDistance); } else if (verticalDistance<0 && isAllowVertical) { vertical =VerticalMove(verticalDistance); } else { horizontal = directionToPlayer.x; } if (Input.GetKey(KeyCode.F)) { horizontal = -1; } if (Input.GetKey(KeyCode.H)) { horizontal = 1; } if (Input.GetKey(KeyCode.T)) { vertical = 1; } if (Input.GetKey(KeyCode.G)) { vertical = -1; } base.MoveTo(horizontal, vertical); } private float VerticalMove(float verticalDistance) { float verticalDirection = Mathf.Sign(verticalDistance); return verticalDirection; } }