Orxonox  0.0.5 Codename: Arcturus
Public Member Functions | Private Attributes | List of all members
orxonox::TeamTargetProxy Class Reference

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>

Inheritance diagram for orxonox::TeamTargetProxy:
orxonox::FormationController orxonox::Tickable orxonox::Controller orxonox::OrxonoxInterface orxonox::BaseObject orxonox::Configurable orxonox::Destroyable orxonox::OrxonoxClass orxonox::Listable orxonox::Configurable orxonox::Destroyable orxonox::Identifiable orxonox::Listable orxonox::Identifiable

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
 
FormationControllergetController (void)
 
bool getFormationFlight () const
 
FormationMode getFormationMode () const
 
int getFormationSize () const
 
FormationControllergetMaster (void)
 
bool getPassive () const
 
FormationControllergetSlave (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 ()
 
ControllableEntitygetControllableEntity () const
 
bool getGodMode ()
 
PlayerInfogetPlayer () 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...
 
BaseObjectgetCreator () const
 
BaseObjectgetEventListener (unsigned int index) const
 Returns an event listener with a given index. More...
 
BaseObjectgetEventSource (unsigned int index, const std::string &state) const
 Returns an eventsource with a given index. More...
 
const XMLFilegetFile () 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...
 
GametypegetGametype () const
 
LevelgetLevel () 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...
 
NamespacegetNamespace () const
 
const std::string & getOldName () const
 Returns the old name of the object. More...
 
ScenegetScene () const
 
virtual uint32_t getSceneID () const
 
const std::set< Template * > & getTemplates () const
 Returns the set of all aplied templates. More...
 
const mboolisActive () const
 Returns the state of the objects activity. More...
 
bool isInitialized () const
 Returns if the object was initialized (passed the object registration). More...
 
const mboolisVisible () 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 ()
 
OrxonoxClassoperator= (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...
 
ContextgetContext () 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 voidgetDerivedPointer (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...
 
IdentifiergetIdentifier () 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...
 
EventStategetEventState (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_
 
FormationControllermyMaster_
 
bool passive_
 
std::vector< FormationController * > slaves_
 
SpecificMasterAction specificMasterAction_
 
int specificMasterActionHoldCount_
 
float speedCounter_
 
State state_
 
WeakPtr< Pawntarget_
 
Quaternion targetOrientation_
 
Vector3 targetPosition_
 
- Protected Attributes inherited from orxonox::Controller
ControllableEntitycontrollableEntity_
 
PlayerInfoplayer_
 
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...
 

Detailed Description

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?)

Constructor & Destructor Documentation

orxonox::TeamTargetProxy::TeamTargetProxy ( Context context)

Sets default values for all variables.

Parameters
contextThe context
orxonox::TeamTargetProxy::~TeamTargetProxy ( )
virtual

Destructor.

Nothing to see here.

Member Function Documentation

void orxonox::TeamTargetProxy::tick ( float  dt)
virtual

Copies the team and the target from the parent.

That's all there is.

Reimplemented from orxonox::Tickable.

Member Data Documentation

bool orxonox::TeamTargetProxy::once_
private

Flag for executing code in the tick function only once.


The documentation for this class was generated from the following files: