using UnityEngine; namespace EmeraldAI { /// /// An interafce script used for monitoring and tracking a target's combat actions (as well as its damage position). This allows other AI to see any target's information through functions. /// Note: This interface is required (on 3rd party or custom character controllers) to use the blocking and dodging features for player targets. /// public interface ICombat { /// /// Used for getting the transform of the target. /// Transform TargetTransform(); /// /// Used for getting the damage position of the target. /// Vector3 DamagePosition(); /// /// Used for detecting when a target is attacking. /// bool IsAttacking(); /// /// Used for detecting when a target is blocking. /// bool IsBlocking(); /// /// Used for detecting when a target is dodging. /// bool IsDodging(); /// /// Used through Emerald AI to trigger stunned mechanics, however, can also be extended to trigger stunned mechanics through custom character controllers, given they have them. /// void TriggerStun(float StunLength); } }