public override void RunAction(StateController controller) { if (TopdownCharacter.instance) { Rigidbody2D rb2d = controller.GetComponent <Rigidbody2D>(); AIMovementData data = controller.GetComponent <AIMovementData>(); if (rb2d && data) { // Get stored information Vector2 playerDirection = TopdownCharacter.instance.transform.position - controller.transform.position; Vector2 moveDirection = Quaternion.Euler(0, 0, 90) * playerDirection; rb2d.velocity = moveDirection.normalized * data.moveSpeed; // Animation specific functions AIAnimationData anim = controller.GetComponent <AIAnimationData>(); if (anim) { anim.PlayAnimation("Move", playerDirection); } } else { Debug.LogWarning("AI Agent requires Rigidbody2D and AIMovementData components to work."); } } }
public override void RunAction(StateController controller) { Rigidbody2D rb2d = controller.GetComponent <Rigidbody2D>(); if (rb2d) { rb2d.velocity = Vector2.zero; // Animation specific functions AIAnimationData anim = controller.GetComponent <AIAnimationData>(); if (anim) { anim.PlayAnimation("Idle"); } } else { Debug.LogWarning("AI Agent requires Rigidbody2D component to work."); } }