#include <src/orxonox/objects/weaponsystem/Weapon.h>
Public Member Functions | |
void | addWeaponmode (WeaponMode *weaponmode) |
void | fire (unsigned int mode) |
WeaponMode * | getWeaponmode (unsigned int index) const |
WeaponPack * | getWeaponPack () const |
WeaponSlot * | getWeaponSlot () const |
void | reload () |
void | setWeaponPack (WeaponPack *weaponPack) |
void | setWeaponSlot (WeaponSlot *wSlot) |
Weapon (BaseObject *creator) | |
virtual void | XMLPort (Element &xmlelement, XMLPort::Mode mode) |
XML loading and saving. | |
virtual | ~Weapon () |
Private Member Functions | |
void | notifyWeaponModes () |
void | reloaded () |
Private Attributes | |
bool | bReloading_ |
unsigned int | reloadingWeaponmode_ |
Timer< Weapon > | reloadTimer_ |
std::multimap< unsigned int, WeaponMode * > | weaponmodes_ |
WeaponPack * | weaponPack_ |
WeaponSlot * | weaponSlot_ |
orxonox::Weapon::Weapon | ( | BaseObject * | creator | ) |
orxonox::Weapon::~Weapon | ( | ) | [virtual] |
void orxonox::Weapon::addWeaponmode | ( | WeaponMode * | weaponmode | ) |
References orxonox::WeaponMode::getMode(), orxonox::WeaponMode::setWeapon(), and weaponmodes_.
Referenced by XMLPort().
void orxonox::Weapon::fire | ( | unsigned int | mode | ) |
References bReloading_, reloadingWeaponmode_, reloadTimer_, and weaponmodes_.
WeaponMode * orxonox::Weapon::getWeaponmode | ( | unsigned int | index | ) | const |
WeaponPack* orxonox::Weapon::getWeaponPack | ( | ) | const [inline] |
Referenced by orxonox::WeaponSystem::removeWeaponSlot(), and orxonox::WeaponMode::updateMunition().
WeaponSlot* orxonox::Weapon::getWeaponSlot | ( | ) | const [inline] |
Referenced by orxonox::WeaponSystem::removeWeaponPack().
void orxonox::Weapon::notifyWeaponModes | ( | ) | [private] |
References weaponmodes_.
void orxonox::Weapon::reload | ( | ) |
References weaponmodes_.
void orxonox::Weapon::reloaded | ( | ) | [private] |
References bReloading_, reloadingWeaponmode_, and orxonox::WeaponSystem::WEAPON_MODE_UNASSIGNED.
Referenced by Weapon().
void orxonox::Weapon::setWeaponPack | ( | WeaponPack * | weaponPack | ) | [inline] |
Referenced by orxonox::WeaponPack::addWeapon(), and orxonox::WeaponPack::removeWeapon().
void orxonox::Weapon::setWeaponSlot | ( | WeaponSlot * | wSlot | ) | [inline] |
Referenced by orxonox::WeaponSlot::attachWeapon(), and orxonox::WeaponSlot::removeWeapon().
void orxonox::Weapon::XMLPort | ( | Element & | xmlelement, | |
XMLPort::Mode | mode | |||
) | [virtual] |
XML loading and saving.
xmlelement | The XML-element | |
loading | Loading (true) or saving (false) |
Reimplemented from orxonox::WorldEntity.
References addWeaponmode(), getWeaponmode(), SUPER, and XMLPortObject.
bool orxonox::Weapon::bReloading_ [private] |
Referenced by fire(), reloaded(), and Weapon().
unsigned int orxonox::Weapon::reloadingWeaponmode_ [private] |
Referenced by fire(), reloaded(), and Weapon().
Timer<Weapon> orxonox::Weapon::reloadTimer_ [private] |
std::multimap<unsigned int, WeaponMode*> orxonox::Weapon::weaponmodes_ [private] |
Referenced by addWeaponmode(), fire(), getWeaponmode(), notifyWeaponModes(), reload(), and ~Weapon().
WeaponPack* orxonox::Weapon::weaponPack_ [private] |
WeaponSlot* orxonox::Weapon::weaponSlot_ [private] |
Referenced by Weapon().