14 typedef std::shared_ptr<TreeNode> TreeNodePtr;
15 typedef std::vector<TreeNodePtr> TreeNodes;
18 typedef std::shared_ptr<IFilter> FilterPtr;
19 typedef std::list<FilterPtr> Filters;
24 typedef std::shared_ptr<movement::ISteering> SteeringPtr;
26 typedef std::vector<SteeringPtr> Steerings;
30 typedef std::shared_ptr<ICondition> ConditionPtr;
31 typedef std::vector<ConditionPtr> Conditions;
33 struct TreeNodeFactoryContext;
34 struct ConditionFactoryContext;
35 struct FilterFactoryContext;
36 struct SteerNodeFactoryContext;
37 struct SteeringFactoryContext;
virtual ConditionPtr createCondition(const std::string &type, const ConditionFactoryContext &ctx) const =0
Allocates a new ICondition for the given type. The type must be registered in the AIRegistry for this...
Context for ITreeNodeFactory.
Definition: AIFactories.h:15
Definition: AIFactories.h:51
Definition: AIFactories.h:43
Definition: AIFactories.h:24
virtual SteeringPtr createSteering(const std::string &type, const SteeringFactoryContext &ctx) const =0
Creates a new ISteering for the given type. The type must be registered in the AIRegistry for this to...
virtual FilterPtr createFilter(const std::string &type, const FilterFactoryContext &ctx) const =0
Allocates a new IFilter for the given type. The type must be registered in the AIRegistry for this to...
Definition: AIFactories.h:34
Definition: IAIFactory.h:39
virtual TreeNodePtr createNode(const std::string &type, const TreeNodeFactoryContext &ctx) const =0
Allocates a new TreeNode for the given type. The type must be registered in the AIRegistry for this t...
virtual TreeNodePtr createSteerNode(const std::string &type, const SteerNodeFactoryContext &ctx) const =0
Allocates a new TreeNode for the given type. The type must be registered in the AIRegistry for this t...