Namespace TinnyStudios.AIUtility
Classes
ActionMoveData
The base data used by MoveSystemBase to set destination and properties. This isn't a scriptable object because DestinationTransform would not be able to reference a scene object. This class is partial so you can extend it with more properties.
ActionMoveProperties
Move Properties used by ActionMoveData
ActionPerformData
The performing data for UtilityAction. This class is partial so you can extend it with more properties.
ActionPerformProperties
Perform Properties used by ActionPerformData This is bare bones at the moment but in the future may include Action Delay, a list of animation to trigger etc. If you wish to extend it, feel free to just inherit it and cast it in the mean time.
Agent
The brain of the Utility AI. It controls the states and uses the UtilityPlanner to find the best action.
Agent.AgentEvents
A set of Unity Events of all agent's changes. Useful for quickly prototyping.
AgentLogger
A static logger extension to help filter out what logs to show or hide.
Consideration
A scriptable object with a method GetScore returning a value between 0-1, this score is used by UtilityPlanner to determine if an action should be considered or not. Think of this as a question "How Hungry am I?" 1 = Hungry, 0 = Not Hungry.
MoveSystemBase
The base class for the move system. This lets the agent choose which system to use. You have to implement your own, see MoveSystemNavMeshExample for an example.
MoveSystemNavMeshExample
An example implementation of MoveSystemBase for Unity Nav Mesh Agents.
StopwatchWatcher
An implementation of TimeWatcher as a time counter using Stopwatch. This is used to track how long as action has performed for.
TimeWatcher
This is used to track how long as action has performed for.
UtilityAction
The base implementation for Utility Action to be used by the planner. See the interface IUtilityAction for detailed comments.
UtilityAction.ActionEvents
A set of Unity Events that the action can go through. Useful for quick prototypes.
UtilityPlanner
Finds the best action based on a list of considerations from Agent
Interfaces
IAgentDataContext
An interface for inferring and finding agent data context. The agent data context can be any data, it just gets cast and cached to its concrete type.
IUtilityAction
The base implementation for Utility Action to be used by the planner.
Enums
EActionStatus
The state the action is in. This is returned by UtilityAction Perform method.
EAgentLogType
The type of logs we can filter by UtilityPlanner log types.
EAgentState
The state the Agent is currently in.
EUpdateType
Decides how the Agent update is handled.