SimpleAI
 All Classes Namespaces Files Functions Variables Typedefs Macros Groups Pages
Classes | Macros
Steering.h File Reference

Defines some basic movement algorithms like Wandering, Seeking and Fleeing. More...

#include "AI.h"
#include "zone/Zone.h"
#include "IAIFactory.h"
#include "common/Math.h"
#include "common/MoveVector.h"
#include "common/String.h"
#include "common/MemoryAllocator.h"
#include "ICharacter.h"
Include dependency graph for Steering.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ai::movement::ISteering
 Steering interface. More...
 
class  ai::movement::SelectionSteering
 IFilter steering interface More...
 

Macros

#define STEERING_FACTORY(SteeringName)
 
#define STEERING_FACTORY_SINGLETON
 

Detailed Description

Defines some basic movement algorithms like Wandering, Seeking and Fleeing.

Macro Definition Documentation

#define STEERING_FACTORY (   SteeringName)
Value:
public: \
class Factory: public ::ai::ISteeringFactory { \
public: \
::ai::SteeringPtr create (const ::ai::SteeringFactoryContext *ctx) const override { \
return std::make_shared<SteeringName>(ctx->parameters); \
} \
}; \
static const Factory& getFactory() { \
static Factory FACTORY; \
return FACTORY; \
}
#define STEERING_FACTORY_SINGLETON
Value:
public: \
class Factory: public ::ai::ISteeringFactory { \
::ai::SteeringPtr create (const ::ai::SteeringFactoryContext */*ctx*/) const { \
return get(); \
} \
}; \
static const Factory& getFactory() { \
static Factory FACTORY; \
return FACTORY; \
}