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);
}
}