Orxonox
0.0.5 Codename: Arcturus
|
A WeaponMode defines how a Weapon is used. More...
#include </home/jenkins/workspace/orxonox_doxygen_trunk/src/orxonox/weaponsystem/WeaponMode.h>
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 |
Munition * | getMunition () const |
const std::string & | getMunitionName () const |
unsigned int | getMunitionPerShot () const |
Identifier * | getMunitionType () 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 () |
Weapon * | getWeapon () 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... | |
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... | |
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... | |
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 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_ |
Munition * | munition_ |
std::string | munitionname_ |
SubclassIdentifier< Munition > | munitiontype_ |
Quaternion | muzzleOrientation_ |
Vector3 | muzzlePosition_ |
WorldSound * | reloadSound_ |
std::string | reloadSoundPath_ |
float | reloadSoundVolume_ |
Timer | reloadTimer_ |
Weapon * | weapon_ |
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... | |
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, ...
orxonox::WeaponMode::WeaponMode | ( | Context * | context | ) |
|
virtual |
void orxonox::WeaponMode::computeMuzzleParameters | ( | const Vector3 & | target | ) |
|
virtual |
Reimplemented in orxonox::EnergyDrink.
|
protectedpure virtual |
Implemented in orxonox::MineGun, orxonox::EnergyDrink, orxonox::HsW01, orxonox::RocketFire, orxonox::FlameGun, orxonox::IceGun, orxonox::SplitGun, orxonox::FusionFire, orxonox::LaserFire, orxonox::LightningGun, orxonox::RocketFireOld, orxonox::SimpleRocketFire, orxonox::GravityBombFire, and orxonox::WagnisGun.
|
inline |
|
inline |
|
protected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Vector3 orxonox::WeaponMode::getMuzzleDirection | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
inline |
|
inline |
Vector3 orxonox::WeaponMode::getTarget | ( | ) |
|
inline |
|
protected |
|
protected |
bool orxonox::WeaponMode::reload | ( | ) |
|
private |
|
inline |
|
inline |
|
protected |
|
inline |
|
inline |
|
inline |
|
inline |
void orxonox::WeaponMode::setMunitionName | ( | const std::string & | munitionname | ) |
|
inline |
void orxonox::WeaponMode::setMunitionType | ( | Identifier * | identifier | ) |
|
inline |
|
inline |
|
protected |
|
inline |
|
inline |
void orxonox::WeaponMode::updateMunition | ( | ) |
|
overridevirtual |
XML loading and saving.
xmlelement | The XML-element |
mode | The 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.
|
protected |
|
protected |
|
private |
|
protected |
|
private |
|
private |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
private |
|
private |
|
private |
|
protected |
|
private |
|
protected |
|
private |
|
private |
|
private |
|
private |
|
private |
|
protected |
|
private |
|
protected |
|
private |