ai::_DefaultAllocator | |
ai::_MemObject< AllocatorClass > | |
ai::ICondition | A condition can be placed on a TreeNode to decide which node is going to get executed. In general they are stateless. If they are not, it should explicitly get noted |
ai::And | This condition will logically and all contained conditions |
ai::False | This condition just always evaluates to false |
ai::Filter | The filter condition executes some selection filters (IFilter ) and evaluates to true if the resulting set of all filter executions is non-empty. Use AI::getFilteredEntities to access the result set and work with it in a TreeNode that is executed when this condition evaluated to true |
ai::HasEnemies | This condition checks whether there are enemies |
ai::IsCloseToGroup | Checks whether the controlled AI is close to a particular group |
ai::IsGroupLeader | Evaluates to true if you are the first member in a particular group |
ai::IsInGroup | Checks whether the AI is in any or in a particular group |
ai::LUACondition | |
ai::Not | This condition will just swap the result of the contained condition |
ai::Or | This condition will logically or all contained conditions |
ai::True | This condition just always evaluates to true |
ai::movement::ISteering | Steering interface |
ai::movement::GroupFlee | Flees from a particular group |
ai::movement::GroupSeek | Seeks a particular group |
ai::movement::LUASteering | |
ai::movement::SelectionSteering | IFilter steering interface |
ai::movement::SelectionFlee | Flees the current IFilter selection from the given ICharacter |
ai::movement::SelectionSeek | Seeks the current IFilter selection from the given ICharacter |
ai::movement::TargetFlee | Flees from a particular target |
ai::movement::TargetSeek | Seeks a particular target |
ai::movement::Wander | Moves forward in the direction the character is currently facing into |
ai::TreeNode | The base class for all behaviour tree actions |
ai::Fail | A decorator node with only one child attached. The result of the attached child is only taken into account if it returned TreeNodeStatus::RUNNING - in every other case this decorator will return TreeNodeStatus::FAILED |
ai::Invert | A node with only one child attached. The result of the attached child is inverted |
ai::ITask | A node for your real actions in the behaviour tree |
ai::Steer | |
ai::ITimedNode | A timed node is a TreeNode that is executed until a given time (millis) is elapsed |
ai::Idle | ITimedNode that is just idling until the given time is elapsed |
ai::Limit | A decorator node which limits the execution of the attached child to a specified amount of runs |
ai::LUATreeNode | |
ai::Selector | Base class for all type of TreeNode selectors |
ai::Parallel | Executes all the connected children in the order they were added (no matter what the TreeNodeStatus of the previous child was) |
ai::PrioritySelector | This node tries to execute all the attached children until one succeeds. This composite only fails if all children failed, too |
ai::ProbabilitySelector | This node executes one of the attached children randomly based on the given weights. The node is executed until it is no longer in the running state |
ai::RandomSelector | This node executes all the attached children in random order. This composite only fails if all children failed, too. It doesn't continue a node in the state TreeNodeStatus::RUNNING . It will always pick a new random node in each tick |
ai::Sequence | The sequence continues to execute their children until one of the children returned a state that is not equal to finished. On the next iteration the execution is continued at the last running children or from the start again if no such children exists |
ai::Succeed | A decorator node with only one child attached. The result of the attached child is only taken into account if it returned TreeNodeStatus::RUNNING - in every other case this decorator will return TreeNodeStatus::FINISHED |
ai::AggroMgr | Manages the aggro values for one AI instance. There are several ways to degrade the aggro values |
ai::AIStateAggro | The list of aggro entry for a character |
ai::AIStateAggroEntry | The aggro entry for the AIStateAggro |
ai::AIStateNode | This is a representation of a behaviour tree node for the serialization |
ai::AIStateNodeStatic | |
ai::AIStateWorld | This is a representation of a character state for the serialization |
ai::AggroMgr::CharacterIdPredicate | |
ai::Client | |
ai::ConditionFactoryContext | |
enable_shared_from_this | |
ai::AI | This is the type the library works with. It interacts with it's real world entity by the ICharacter interface |
ai::ICharacter | Class that should be extended by the AI controlled entity class |
ai::Entry | One entry for the AggroMgr |
ai::Server::Event | |
ai::FilterFactoryContext | |
ai::GroupMgr | Maintains the groups a AI can be in |
ai::IAIFactory | |
ai::AIRegistry | The place to register your TreeNode and ICondition factories at |
ai::LUAAIRegistry | Allows you to register lua TreeNodes, Conditions, Filters and ISteerings |
ai::IFactory< TYPE, CTX > | |
ai::IFactory< ICondition, ConditionFactoryContext > | |
ai::IConditionFactory | |
ai::LUACondition::LUAConditionFactory | |
ai::IFactory< IFilter, FilterFactoryContext > | |
ai::IFilterFactory | |
ai::LUAFilter::LUAFilterFactory | |
ai::IFactory< movement::ISteering, SteeringFactoryContext > | |
ai::ISteeringFactory | |
ai::movement::LUASteering::LUASteeringFactory | |
ai::IFactory< TreeNode, SteerNodeFactoryContext > | |
ai::ISteerNodeFactory | |
ai::Steer::Factory | |
ai::IFactory< TreeNode, TreeNodeFactoryContext > | |
ai::ITreeNodeFactory | This factory will create tree nodes. It uses the TreeNodeFactoryContext to collect all the needed data for this action |
ai::LUATreeNode::LUATreeNodeFactory | |
IFilter | |
ai::Complement | This filter performs a complement operation on already filtered entities with the results given by the child filters |
ai::Difference | This filter performs a difference operation between several filter results. The result consists of elements that are in A and not in B, C, D, .. |
ai::First | This filter will just preserve the first entry of other filters |
ai::Intersection | This filter performs an intersection between several filter results |
ai::Last | This filter will just preserve the last entry of other filters |
ai::LUAFilter | |
ai::Random | This filter will preserve only a few random entries |
ai::SelectAll | This filter is a nop - it will just use the already filtered entities |
ai::SelectEmpty | This filter just clears the selection |
ai::SelectGroupLeader | This filter will pick the group leader of the specified group |
ai::SelectGroupMembers | This filter will pick the entities from the groups the given AI instance is in |
ai::SelectHighestAggro | This filter will pick the entity with the highest aggro value |
ai::SelectZone | This filter will pick the entities from the zone of the given entity |
ai::Union | This filter merges several other filter results |
ai::INetworkListener | |
ai::Server | The server can serialize the state of the AI and broadcast it to all connected clients |
ai::IParser | |
ai::ConditionParser | Transforms the string representation of a condition with all its sub conditions and parameters into a ICondition instance |
ai::TreeNodeParser | Transforms the string representation of a TreeNode with all its parameters into a TreeNode instance |
ai::IProtocolHandler | Interface for the execution of assigned IProtocolMessage |
ai::AddNodeHandler | |
ai::ChangeHandler | |
ai::DeleteNodeHandler | |
ai::NopHandler | |
ai::PauseHandler | |
ai::ProtocolHandler< T > | |
ai::ResetHandler | |
ai::SelectHandler | |
ai::StepHandler | |
ai::UpdateNodeHandler | |
ai::IProtocolMessage | A protocol message is used for the serialization of the ai states for remote debugging |
ai::AIAddNodeMessage | Message for the remote debugging interface |
ai::AIChangeMessage | Message for the remote debugging interface |
ai::AICharacterDetailsMessage | Message for the remote debugging interface |
ai::AICharacterStaticMessage | |
ai::AIDeleteNodeMessage | Message for the remote debugging interface |
ai::AINamesMessage | Message for the remote debugging interface |
ai::AIPauseMessage | Message for the remote debugging interface |
ai::AISelectMessage | Message for the remote debugging interface |
ai::AIStateMessage | Message for the remote debugging interface |
ai::AIStepMessage | Perform one step if the ai controlled entities are in paused mode |
ai::AIUpdateNodeMessage | Message for the remote debugging interface |
ai::ITreeLoader | This class must be extended to load behaviour trees. The contract here is that the parsing only happens once (of course) and then ITreeLoader::getTrees and ITreeLoader::load will just access the cached data |
ai::LUATreeLoader | Implementation of ITreeLoader that gets its data from a lua script |
ai::XMLTreeLoader | Implementation of ITreeLoader that gets its data from a xml file |
ai::luaAI_AI | |
ai::luaAI_ICharacter | |
ai::lua::LUAType | |
ai::MoveVector | |
ai::Network | |
ai::NonCopyable | |
ai::AI | This is the type the library works with. It interacts with it's real world entity by the ICharacter interface |
ai::ICharacter | Class that should be extended by the AI controlled entity class |
ai::IFactoryRegistry< KEY, TYPE, CTX > | |
ai::lua::LUA | |
ai::ProtocolMessageFactory | |
ai::IFactoryRegistry< std::string, ICondition, ConditionFactoryContext > | |
ai::AIRegistry::ConditionFactory | |
ai::IFactoryRegistry< std::string, IFilter, FilterFactoryContext > | |
ai::AIRegistry::FilterFactory | |
ai::IFactoryRegistry< std::string, movement::ISteering, SteeringFactoryContext > | |
ai::AIRegistry::SteeringFactory | |
ai::IFactoryRegistry< std::string, TreeNode, SteerNodeFactoryContext > | |
ai::AIRegistry::SteerNodeFactory | |
ai::IFactoryRegistry< std::string, TreeNode, TreeNodeFactoryContext > | |
ai::AIRegistry::TreeNodeFactory | |
ai::ProtocolHandlerNopDeleter | Use this deleter for any handler that should not get freed by delete |
ai::ProtocolHandlerRegistry | |
ai::ReadWriteLock | |
ai::ScopedReadLock | |
ai::ScopedWriteLock | |
ai::SteeringFactoryContext | |
ai::SteerNodeFactoryContext | |
ai::ThreadPool | |
ai::TreeNodeFactoryContext | Context for ITreeNodeFactory |
ai::movement::WeightedData | Steering and weight as input for WeightedSteering |
ai::movement::WeightedSteering | This class allows you to weight several steering methods and get a blended MoveVector out of it |