Orxonox
0.0.5 Codename: Arcturus
|
A controller, that just copies the team and the target of a parent for itself and it's controllable entity. More...
#include </home/jenkins/workspace/orxonox_doxygen_trunk/src/modules/objects/controllers/TeamTargetProxy.h>
Public Member Functions | |
TeamTargetProxy (Context *context) | |
Sets default values for all variables. More... | |
virtual | ~TeamTargetProxy () |
Destructor. More... | |
virtual void | tick (float dt) |
Copies the team and the target from the parent. More... | |
Public Member Functions inherited from orxonox::FormationController | |
FormationController (Context *context) | |
virtual | ~FormationController () |
virtual void | changedControllableEntity () override |
FormationController * | getController (void) |
bool | getFormationFlight () const |
FormationMode | getFormationMode () const |
int | getFormationSize () const |
FormationController * | getMaster (void) |
bool | getPassive () const |
FormationController * | getSlave (void) |
virtual void | hit (Pawn *originator, btManifoldPoint &contactpoint, float damage) override |
void | setFormationFlight (bool formation) |
void | setFormationMode (FormationMode val) |
Sets the new mode. More... | |
void | setFormationSize (int size) |
void | setNewMasterWithinFormation (FormationController *newMaster) |
void | setPassive (bool passive) |
virtual void | XMLPort (Element &xmlelement, XMLPort::Mode mode) override |
XML loading and saving. More... | |
Public Member Functions inherited from orxonox::Controller | |
Controller (Context *context) | |
virtual | ~Controller () |
ControllableEntity * | getControllableEntity () const |
bool | getGodMode () |
PlayerInfo * | getPlayer () const |
int | getTeam () const |
void | setControllableEntity (ControllableEntity *entity) |
void | setGodMode (bool mode) |
void | setPlayer (PlayerInfo *player) |
void | setTeam (int team) |
Public Member Functions inherited from orxonox::BaseObject | |
BaseObject (Context *context) | |
Constructor: Registers the object in the BaseObject-list. More... | |
virtual | ~BaseObject () |
Destructor. More... | |
void | addEventListener (BaseObject *listener) |
Adds an object which listens to the events of this object. More... | |
void | addEventSource (BaseObject *source, const std::string &state) |
Adds a new event source for a specific state. More... | |
void | addTemplate (const std::string &name) |
Adds a Template to the object. More... | |
void | addTemplate (Template *temp) |
Adds a Template to the object. More... | |
virtual void | changedActivity () |
This function gets called if the activity of the object changes. More... | |
virtual void | changedMainStateName () |
This function gets called if the main state name of the object changes. More... | |
virtual void | changedName () |
This function gets called if the name of the object changes. More... | |
virtual void | changedVisibility () |
This function gets called if the visibility of the object changes. More... | |
void | fireEvent (const std::string &name="") |
Fires an event (without a state). More... | |
void | fireEvent (bool activate, const std::string &name="") |
Fires an event which activates or deactivates a state. More... | |
void | fireEvent (bool activate, BaseObject *originator, const std::string &name="") |
Fires an event which activates or deactivates a state with agiven originator (the object which triggered the event). More... | |
void | fireEvent (Event &event) |
Fires an event, using the Event struct. More... | |
BaseObject * | getCreator () const |
BaseObject * | getEventListener (unsigned int index) const |
Returns an event listener with a given index. More... | |
BaseObject * | getEventSource (unsigned int index, const std::string &state) const |
Returns an eventsource with a given index. More... | |
const XMLFile * | getFile () const |
Returns a pointer to the XMLFile that loaded this object. More... | |
const std::string & | getFilename () const |
Returns the levelfile that loaded this object. More... | |
Gametype * | getGametype () const |
Level * | getLevel () const |
const std::string & | getLoaderIndentation () const |
Returns the indentation of the debug output in the Loader. More... | |
const std::string & | getMainStateName () const |
Returns the name of the main state. More... | |
const std::string & | getName () const |
Returns the name of the object. More... | |
Namespace * | getNamespace () const |
const std::string & | getOldName () const |
Returns the old name of the object. More... | |
Scene * | getScene () const |
virtual uint32_t | getSceneID () const |
const std::set< Template * > & | getTemplates () const |
Returns the set of all aplied templates. More... | |
const mbool & | isActive () const |
Returns the state of the objects activity. More... | |
bool | isInitialized () const |
Returns if the object was initialized (passed the object registration). More... | |
const mbool & | isVisible () const |
Returns the state of the objects visibility. More... | |
virtual void | processEvent (Event &event) |
Processing an event by calling the right main state. More... | |
void | removeEventSource (BaseObject *source) |
Removes an eventsource (but doesn't unregister itself at the source). More... | |
void | setActive (bool bActive) |
Sets the state of the objects activity. More... | |
void | setCreator (BaseObject *creator) |
void | setFile (const XMLFile *file) |
Sets a pointer to the xml file that loaded this object. More... | |
void | setGametype (const StrongOrWeakPtr< Gametype > &gametype) |
void | setLevel (const StrongOrWeakPtr< Level > &level) |
void | setLoaderIndentation (const std::string &indentation) |
Sets the indentation of the debug output in the Loader. More... | |
void | setMainState (bool state) |
Sets the main state of the object to a given boolean value. More... | |
void | setMainStateName (const std::string &name) |
Sets the name of the main state (used for event reactions). More... | |
void | setName (const std::string &name) |
Sets the name of the object. More... | |
void | setNamespace (const StrongOrWeakPtr< Namespace > &ns) |
void | setScene (const StrongOrWeakPtr< Scene > &scene, uint32_t sceneID) |
void | setVisible (bool bVisible) |
Sets the state of the objects visibility. More... | |
virtual void | XMLEventPort (Element &xmlelement, XMLPort::Mode mode) |
Defines the possible event states of this object and parses eventsources from an XML file. More... | |
Public Member Functions inherited from orxonox::OrxonoxClass | |
OrxonoxClass () | |
OrxonoxClass & | operator= (const OrxonoxClass &)=default |
Public Member Functions inherited from orxonox::Configurable | |
Configurable () | |
void | setConfigValues () |
Function to collect the SetConfigValue-macro calls. More... | |
Public Member Functions inherited from orxonox::Listable | |
Listable () | |
Constructor: Allocates space in the element list. More... | |
Listable (Context *context) | |
Constructor: Allocates space in the element list and assigns the context. More... | |
virtual | ~Listable () |
Destructor: Removes the object from the object-lists. More... | |
Context * | getContext () const |
void | setContext (Context *context) |
Changes the context. More... | |
void | unregisterObject () |
Removes this object from the object-lists. More... | |
Public Member Functions inherited from orxonox::Identifiable | |
Identifiable () | |
Constructor: Sets the default values. More... | |
virtual | ~Identifiable () |
ORX_FORCEINLINE void * | getDerivedPointer (unsigned int classID) |
Returns a valid pointer of any derived type that is registered in the class hierarchy. More... | |
template<class T > | |
ORX_FORCEINLINE T * | getDerivedPointer (unsigned int classID) |
Version of getDerivedPointer with template. More... | |
template<class T > | |
ORX_FORCEINLINE const T * | getDerivedPointer (unsigned int classID) const |
Const version of getDerivedPointer with template. More... | |
Identifier * | getIdentifier () const |
Returns the Identifier of the object. More... | |
bool | isA (const Identifier *identifier) |
Returns true if the object's class is of the given type or a derivative. More... | |
template<class B > | |
bool | isA (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is of the given type or a derivative. More... | |
bool | isA (const Identifiable *object) |
Returns true if the object's class is of the given type or a derivative. More... | |
bool | isChildOf (const Identifier *identifier) |
Returns true if the object's class is a child of the given type. More... | |
template<class B > | |
bool | isChildOf (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is a child of the given type. More... | |
bool | isChildOf (const Identifiable *object) |
Returns true if the object's class is a child of the given type. More... | |
bool | isDirectChildOf (const Identifier *identifier) |
Returns true if the object's class is a direct child of the given type. More... | |
template<class B > | |
bool | isDirectChildOf (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is a direct child of the given type. More... | |
bool | isDirectChildOf (const Identifiable *object) |
Returns true if the object's class is a direct child of the given type. More... | |
bool | isDirectParentOf (const Identifier *identifier) |
Returns true if the object's class is a direct parent of the given type. More... | |
template<class B > | |
bool | isDirectParentOf (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is a direct parent of the given type. More... | |
bool | isDirectParentOf (const Identifiable *object) |
Returns true if the object's class is a direct child of the given type. More... | |
bool | isExactlyA (const Identifier *identifier) |
Returns true if the object's class is exactly of the given type. More... | |
template<class B > | |
bool | isExactlyA (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is exactly of the given type. More... | |
bool | isExactlyA (const Identifiable *object) |
Returns true if the object's class is exactly of the given type. More... | |
bool | isParentOf (const Identifier *identifier) |
Returns true if the object's class is a parent of the given type. More... | |
template<class B > | |
bool | isParentOf (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is a parent of the given type. More... | |
bool | isParentOf (const Identifiable *object) |
Returns true if the object's class is a parent of the given type. More... | |
Public Member Functions inherited from orxonox::Destroyable | |
Destroyable () | |
Constructor: Sets the default values. More... | |
virtual | ~Destroyable () |
Destructor: Notifies all DestructionListener (for example weak pointers) that this object is being deleted. More... | |
void | destroy () |
Deletes the object if no strong pointers point to this object. More... | |
void | destroyLater () |
Works like destroy() but doesn't destroy the object until the current tick has ended. More... | |
unsigned int | getReferenceCount () const |
Returns the number of strong pointers that point to this object. More... | |
Public Member Functions inherited from orxonox::OrxonoxInterface | |
OrxonoxInterface () | |
Private Attributes | |
bool | once_ |
Flag for executing code in the tick function only once. More... | |
Additional Inherited Members | |
Public Types inherited from orxonox::FormationController | |
enum | FormationMode { NORMAL, DEFEND, ATTACK } |
Mode of the formation, behaviour of slaves Normal-normal behaviour Defend-just defend the master Attack-leave formation, attack every target. More... | |
Static Public Member Functions inherited from orxonox::FormationController | |
static void | followme () |
A human player gets followed by its nearest master. More... | |
static void | formationflight (const bool form) |
Activates / deactivates formationflight behaviour. More... | |
static void | formationsize (const int size) |
Sets maximal formation size. More... | |
static void | masteraction (const int action) |
Get all masters to do a "specific master action". More... | |
static void | passivebehaviour (const bool passive) |
Sets shooting behaviour of pawns. More... | |
Static Public Member Functions inherited from orxonox::BaseObject | |
static void | loadAllEventStates (Element &xmlelement, XMLPort::Mode mode, BaseObject *object, Identifier *identifier) |
Manually loads all event states, even if the class doesn't officially support them. More... | |
Protected Types inherited from orxonox::FormationController | |
enum | SpecificMasterAction { NONE, HOLD, SPIN, TURN180, FOLLOW } |
enum | State { SLAVE, MASTER, FREE } |
Protected Member Functions inherited from orxonox::FormationController | |
void | absoluteMoveToPosition (const Vector3 &target) |
void | commandSlaves () |
Commands the slaves of a master into a formation. More... | |
void | copyOrientation (const Quaternion &orient) |
void | copyTargetOrientation () |
void | follow () |
Master follows target with adjusted speed. More... | |
void | followInit (Pawn *pawn, const bool always=false, const int secondsToFollow=100) |
Master begins to follow a pawn. More... | |
void | followRandomHumanInit () |
Master begins to follow a randomly chosen human player of the same team. More... | |
bool | forcedFree () |
Checks wether caller has been forced free, decrements time to stay forced free. More... | |
void | forceFreedom () |
void | forceFreeSlaves () |
Master sets its slaves free for FREEDOM_COUNT seconds. More... | |
void | forgetTarget () |
void | freeSlaves () |
Frees all slaves from a master. More... | |
void | loseMasterState () |
void | masterAttacked (Pawn *originator) |
if called, half of the formation will attack the originator More... | |
void | moveToPosition (const Vector3 &target) |
void | moveToTargetPosition () |
virtual void | positionReached () |
void | removeFromFormation () |
void | searchNewMaster () |
void | searchNewTarget () |
void | searchRandomTargetPosition () |
void | setNewMasterWithinFormation () |
Sets a new master within the formation. More... | |
void | setTarget (Pawn *target) |
void | setTargetOrientation (const Quaternion &orient) |
void | setTargetOrientation (Pawn *target) |
void | setTargetPosition (const Vector3 &target) |
void | specificMasterActionHold () |
Used to continue a "specific master action" for a certain time and resuming normal behaviour after. More... | |
void | spin () |
Execute the spin. More... | |
void | spinInit () |
Master initializes a spin around its looking direction axis. More... | |
void | takeLeadOfFormation () |
Call to take the lead of formation (if free, become slave of nearest formation, then, if Slave, become Master) More... | |
void | targetDied () |
void | turn180 () |
Execute the 180 degree turn. More... | |
void | turn180Init () |
Master initializes a 180 degree turn. More... | |
void | unregisterSlave () |
Unregisters a slave from its master. More... | |
Protected Member Functions inherited from orxonox::BaseObject | |
void | addEventState (const std::string &name, EventState *container) |
Adds a new event-state to the object. More... | |
EventState * | getEventState (const std::string &name) const |
Returns the event-state with the given name. More... | |
Protected Member Functions inherited from orxonox::Destroyable | |
virtual void | preDestroy () |
This virtual function is called if destroy() is called and no StrongPtr points to this object. More... | |
Protected Member Functions inherited from orxonox::Tickable | |
Tickable () | |
Constructor: Registers the object in the Tickable-list. More... | |
Static Protected Member Functions inherited from orxonox::FormationController | |
static bool | sameTeam (ControllableEntity *entity1, ControllableEntity *entity2, Gametype *gametype) |
Protected Attributes inherited from orxonox::FormationController | |
bool | bHasTargetOrientation_ |
bool | bHasTargetPosition_ |
bool | bShooting_ |
bool | formationFlight_ |
FormationMode | formationMode_ |
int | freedomCount_ |
unsigned int | maxFormationSize_ |
FormationController * | myMaster_ |
bool | passive_ |
std::vector< FormationController * > | slaves_ |
SpecificMasterAction | specificMasterAction_ |
int | specificMasterActionHoldCount_ |
float | speedCounter_ |
State | state_ |
WeakPtr< Pawn > | target_ |
Quaternion | targetOrientation_ |
Vector3 | targetPosition_ |
Protected Attributes inherited from orxonox::Controller | |
ControllableEntity * | controllableEntity_ |
PlayerInfo * | player_ |
int | team_ |
Protected Attributes inherited from orxonox::BaseObject | |
mbool | bActive_ |
True = the object is active. More... | |
mbool | bVisible_ |
True = the object is visible. More... | |
FunctorPtr | mainStateFunctor_ |
std::string | mainStateName_ |
std::string | name_ |
The name of the object. More... | |
std::set< std::string > | networkTemplateNames_ |
std::string | oldName_ |
The old name of the object. More... | |
A controller, that just copies the team and the target of a parent for itself and it's controllable entity.
Useful for following (and similar) situations: (-> means attached to) turret (rotates) -> some kind of turret base (looks nice) -> spaceship (flies around) The turret has a controller that wants to copy the spaceship's target and team. In this case it doesn't work though, because the turret isn't directly attached to the spaceship. Here's where this controller comes in. Drawback: the base has to be controllable and ticks every second (performance?)
orxonox::TeamTargetProxy::TeamTargetProxy | ( | Context * | context | ) |
Sets default values for all variables.
context | The context |
|
virtual |
Destructor.
Nothing to see here.
|
virtual |
Copies the team and the target from the parent.
That's all there is.
Reimplemented from orxonox::Tickable.
|
private |
Flag for executing code in the tick function only once.