Main script, that controls/manage all AI states and requests related actions (and animations). Script also conected to PathFinding system, it handles navigation activity.
Average structure looks like:
viewTrigger - Script attached to object used as view-field of AI. It's collider size useful for ranged attack distances too
pathFollower- Script to process PathFinding and PathFollowing
animatedObject - Object that contains visual player appearance and animations
enemyTag - Tag of object, that regarded as enemy
followAlly - If specified - AI will follow this object/character
enableRangedAttack - Enable range attack. Only mele is allowed if false
enablePatrol - If true - AI will patrol territory instead of simple Seeking
life - Initial/max amount of life
actions - List of all possible AI actions.
Basic and universal parameters for actions specified in class AI_Action Caption - Just a caption for more comfortable navigation actionType - Action type. Function with this name will be called to perform this action actionPriority - Priority. Only actions with higher priority can interupt actions with lower actionDuration - During this time action can't be interupted by action with lower priority. animationClip - Play this animation during the action loopAnimation - Specifies should be animation looped during action Duration or not customValue - Just some value that you can use in functions to setup/tune some parameters of
currentAction - Current requested action - this is internal variable, but it should be public. Please don't change it blindly