Orxonox  0.0.5 Codename: Arcturus
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
orxonox::WeaponMode Class Referenceabstract

A WeaponMode defines how a Weapon is used. More...

#include </home/jenkins/workspace/orxonox_doxygen_trunk/src/orxonox/weaponsystem/WeaponMode.h>

Inheritance diagram for orxonox::WeaponMode:
orxonox::BaseObject orxonox::OrxonoxClass orxonox::Configurable orxonox::Destroyable orxonox::Listable orxonox::Identifiable orxonox::EnergyDrink orxonox::FlameGun orxonox::FusionFire orxonox::GravityBombFire orxonox::HsW01 orxonox::IceGun orxonox::LaserFire orxonox::LightningGun orxonox::MineGun orxonox::RocketFire orxonox::RocketFireOld orxonox::SimpleRocketFire orxonox::SplitGun orxonox::WagnisGun

Public Member Functions

 WeaponMode (Context *context)
 
virtual ~WeaponMode ()
 
void computeMuzzleParameters (const Vector3 &target)
 
virtual bool fire (float *reloadTime)
 
bool getAutoReload () const
 
float getDamage () const
 
float getHealthDamage () const
 
const std::string & getHUDImageString () const
 
unsigned int getInitialMagazines () const
 
unsigned int getInitialMunition () const
 
unsigned int getMode () const
 
MunitiongetMunition () const
 
const std::string & getMunitionName () const
 
unsigned int getMunitionPerShot () const
 
IdentifiergetMunitionType () const
 
Vector3 getMuzzleDirection () const
 
const Vector3 & getMuzzleOffset () const
 
const Quaternion & getMuzzleOrientation () const
 
const Vector3 & getMuzzlePosition () const
 
bool getParallelReload () const
 
bool getReloading () const
 
float getReloadTime () const
 
float getShieldDamage () const
 
Vector3 getTarget ()
 
WeapongetWeapon () const
 
bool reload ()
 
void setAutoReload (bool autoreload)
 
void setDamage (float damage)
 
void setHealthDamage (float healthdamage)
 
void setInitialMagazines (unsigned int amount)
 
void setInitialMunition (unsigned int amount)
 
void setMode (unsigned int mode)
 
void setMunitionName (const std::string &munitionname)
 
void setMunitionPerShot (unsigned int amount)
 
void setMunitionType (Identifier *identifier)
 
void setMuzzleOffset (const Vector3 &offset)
 
void setParallelReload (bool parallelreload)
 
void setReloadTime (float time)
 
void setShieldDamage (float shielddamage)
 
void setWeapon (Weapon *weapon)
 
void updateMunition ()
 
virtual void XMLPort (Element &xmlelement, XMLPort::Mode mode) override
 XML loading and saving. More...
 
- 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...
 

Protected Member Functions

virtual void fire ()=0
 
const std::string & getFireSound ()
 
const std::string & getReloadSound ()
 
void playFireSound ()
 
void playReloadSound ()
 
void setFireSound (const std::string &soundPath, const float soundVolume=1.0)
 
void setReloadSound (const std::string &soundPath, const float soundVolume=1.0)
 
- 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 Attributes

bool bAutoReload_
 
bool bParallelReload_
 
float damage_
 
float healthdamage_
 
std::string hudImageString_
 
unsigned int initialMagazines_
 
unsigned int initialMunition_
 
unsigned int munitionPerShot_
 
Vector3 muzzleOffset_
 
float reloadTime_
 
float shielddamage_
 
- 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...
 

Private Member Functions

void reloaded ()
 

Private Attributes

bool bReloading_
 
std::string fireSoundPath_
 
std::vector< WorldSound * > fireSounds_
 
float fireSoundVolume_
 
unsigned int mode_
 
Munitionmunition_
 
std::string munitionname_
 
SubclassIdentifier< Munitionmunitiontype_
 
Quaternion muzzleOrientation_
 
Vector3 muzzlePosition_
 
WorldSoundreloadSound_
 
std::string reloadSoundPath_
 
float reloadSoundVolume_
 
Timer reloadTimer_
 
Weaponweapon_
 

Additional Inherited Members

- 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...
 

Detailed Description

A WeaponMode defines how a Weapon is used.

It specifies what kind of orxonox::Projectile is created when you fire it, how much time it takes to reload, what sound you hear while shooting, how much damage the projectile deals to a target, ...

Constructor & Destructor Documentation

orxonox::WeaponMode::WeaponMode ( Context context)
orxonox::WeaponMode::~WeaponMode ( )
virtual

Member Function Documentation

void orxonox::WeaponMode::computeMuzzleParameters ( const Vector3 &  target)
bool orxonox::WeaponMode::fire ( float *  reloadTime)
virtual

Reimplemented in orxonox::EnergyDrink.

virtual void orxonox::WeaponMode::fire ( )
protectedpure virtual
bool orxonox::WeaponMode::getAutoReload ( ) const
inline
float orxonox::WeaponMode::getDamage ( ) const
inline
const std::string & orxonox::WeaponMode::getFireSound ( )
protected
float orxonox::WeaponMode::getHealthDamage ( ) const
inline
const std::string& orxonox::WeaponMode::getHUDImageString ( ) const
inline
unsigned int orxonox::WeaponMode::getInitialMagazines ( ) const
inline
unsigned int orxonox::WeaponMode::getInitialMunition ( ) const
inline
unsigned int orxonox::WeaponMode::getMode ( ) const
inline
Munition* orxonox::WeaponMode::getMunition ( ) const
inline
const std::string& orxonox::WeaponMode::getMunitionName ( ) const
inline
unsigned int orxonox::WeaponMode::getMunitionPerShot ( ) const
inline
Identifier* orxonox::WeaponMode::getMunitionType ( ) const
inline
Vector3 orxonox::WeaponMode::getMuzzleDirection ( ) const
const Vector3& orxonox::WeaponMode::getMuzzleOffset ( ) const
inline
const Quaternion& orxonox::WeaponMode::getMuzzleOrientation ( ) const
inline
const Vector3& orxonox::WeaponMode::getMuzzlePosition ( ) const
inline
bool orxonox::WeaponMode::getParallelReload ( ) const
inline
bool orxonox::WeaponMode::getReloading ( ) const
inline
const std::string & orxonox::WeaponMode::getReloadSound ( )
protected
float orxonox::WeaponMode::getReloadTime ( ) const
inline
float orxonox::WeaponMode::getShieldDamage ( ) const
inline
Vector3 orxonox::WeaponMode::getTarget ( )
Weapon* orxonox::WeaponMode::getWeapon ( ) const
inline
void orxonox::WeaponMode::playFireSound ( )
protected
void orxonox::WeaponMode::playReloadSound ( )
protected
bool orxonox::WeaponMode::reload ( )
void orxonox::WeaponMode::reloaded ( )
private
void orxonox::WeaponMode::setAutoReload ( bool  autoreload)
inline
void orxonox::WeaponMode::setDamage ( float  damage)
inline
void orxonox::WeaponMode::setFireSound ( const std::string &  soundPath,
const float  soundVolume = 1.0 
)
protected
void orxonox::WeaponMode::setHealthDamage ( float  healthdamage)
inline
void orxonox::WeaponMode::setInitialMagazines ( unsigned int  amount)
inline
void orxonox::WeaponMode::setInitialMunition ( unsigned int  amount)
inline
void orxonox::WeaponMode::setMode ( unsigned int  mode)
inline
void orxonox::WeaponMode::setMunitionName ( const std::string &  munitionname)
void orxonox::WeaponMode::setMunitionPerShot ( unsigned int  amount)
inline
void orxonox::WeaponMode::setMunitionType ( Identifier identifier)
void orxonox::WeaponMode::setMuzzleOffset ( const Vector3 &  offset)
inline
void orxonox::WeaponMode::setParallelReload ( bool  parallelreload)
inline
void orxonox::WeaponMode::setReloadSound ( const std::string &  soundPath,
const float  soundVolume = 1.0 
)
protected
void orxonox::WeaponMode::setReloadTime ( float  time)
inline
void orxonox::WeaponMode::setShieldDamage ( float  shielddamage)
inline
void orxonox::WeaponMode::setWeapon ( Weapon weapon)
inline
void orxonox::WeaponMode::updateMunition ( )
void orxonox::WeaponMode::XMLPort ( Element &  xmlelement,
XMLPort::Mode  mode 
)
overridevirtual

XML loading and saving.

Parameters
xmlelementThe XML-element
modeThe mode defines the operation that is being executed: loading or saving the object (from or to XML respectively)

Reimplemented from orxonox::BaseObject.

Reimplemented in orxonox::EnergyDrink, orxonox::MineGun, orxonox::HsW01, orxonox::FlameGun, orxonox::IceGun, orxonox::RocketFire, orxonox::SplitGun, and orxonox::WagnisGun.

Member Data Documentation

bool orxonox::WeaponMode::bAutoReload_
protected
bool orxonox::WeaponMode::bParallelReload_
protected
bool orxonox::WeaponMode::bReloading_
private
float orxonox::WeaponMode::damage_
protected
std::string orxonox::WeaponMode::fireSoundPath_
private
std::vector<WorldSound*> orxonox::WeaponMode::fireSounds_
private
float orxonox::WeaponMode::fireSoundVolume_
private
float orxonox::WeaponMode::healthdamage_
protected
std::string orxonox::WeaponMode::hudImageString_
protected
unsigned int orxonox::WeaponMode::initialMagazines_
protected
unsigned int orxonox::WeaponMode::initialMunition_
protected
unsigned int orxonox::WeaponMode::mode_
private
Munition* orxonox::WeaponMode::munition_
private
std::string orxonox::WeaponMode::munitionname_
private
unsigned int orxonox::WeaponMode::munitionPerShot_
protected
SubclassIdentifier<Munition> orxonox::WeaponMode::munitiontype_
private
Vector3 orxonox::WeaponMode::muzzleOffset_
protected
Quaternion orxonox::WeaponMode::muzzleOrientation_
private
Vector3 orxonox::WeaponMode::muzzlePosition_
private
WorldSound* orxonox::WeaponMode::reloadSound_
private
std::string orxonox::WeaponMode::reloadSoundPath_
private
float orxonox::WeaponMode::reloadSoundVolume_
private
float orxonox::WeaponMode::reloadTime_
protected
Timer orxonox::WeaponMode::reloadTimer_
private
float orxonox::WeaponMode::shielddamage_
protected
Weapon* orxonox::WeaponMode::weapon_
private

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