[Orxonox-commit 6402] r11059 - in code/branches/cpp11_v3/src: modules/overlays/hud orxonox/weaponsystem orxonox/worldentities/pawns
landauf at orxonox.net
landauf at orxonox.net
Wed Jan 13 22:19:21 CET 2016
Author: landauf
Date: 2016-01-13 22:19:21 +0100 (Wed, 13 Jan 2016)
New Revision: 11059
Modified:
code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeapon.cc
code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeapon.h
code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponSystem.cc
code/branches/cpp11_v3/src/orxonox/weaponsystem/Weapon.h
code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponPack.cc
code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponPack.h
code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponSystem.cc
code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponSystem.h
code/branches/cpp11_v3/src/orxonox/worldentities/pawns/Pawn.cc
code/branches/cpp11_v3/src/orxonox/worldentities/pawns/Pawn.h
Log:
return const-ref to collections instead of pointer
Modified: code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeapon.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeapon.cc 2016-01-10 19:01:09 UTC (rev 11058)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeapon.cc 2016-01-13 21:19:21 UTC (rev 11059)
@@ -43,7 +43,6 @@
weaponModeHUDActualSize_ = Vector2(0.0f,0.0f);
- weaponModes_ = NULL;
weaponIndex_ = 0;
hudWeaponModes_.clear();
@@ -147,8 +146,6 @@
destroyHUDChilds();
- weaponModes_ = weapon_->getAllWeaponmodes();
-
updateSize();
createHUDChilds();
positionHUDChilds();
@@ -156,14 +153,14 @@
void HUDWeapon::createHUDChilds()
{
- if (weaponModes_ == NULL)
+ if (weapon_ == NULL)
{
return;
}
int positionIndex = 0;
- for (std::multimap<unsigned int, WeaponMode*>::iterator it = weaponModes_->begin(); it != weaponModes_->end(); ++it)
+ for (std::multimap<unsigned int, WeaponMode*>::const_iterator it = weapon_->getAllWeaponmodes().begin(); it != weapon_->getAllWeaponmodes().end(); ++it)
{
HUDWeaponMode* hudWeaponMode = new HUDWeaponMode(this->getContext());
hudWeaponMode->setOwner(owner_);
@@ -207,16 +204,16 @@
void HUDWeapon::updateSize()
{
- if (weaponModes_ != NULL)
+ if (weapon_ != NULL)
{
- this->setSize(Vector2(weaponModeHUDActualSize_.x,weaponModeHUDActualSize_.y*weaponModes_->size()));
+ this->setSize(Vector2(weaponModeHUDActualSize_.x,weaponModeHUDActualSize_.y*weapon_->getAllWeaponmodes().size()));
updatePosition();
}
}
void HUDWeapon::updatePosition()
{
- if (weaponModes_ != NULL)
+ if (weapon_ != NULL)
{
this->setPosition(Vector2(weaponModeHUDActualSize_.x*weaponIndex_,0.0f) + this->positionOffset_);
}
Modified: code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeapon.h
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeapon.h 2016-01-10 19:01:09 UTC (rev 11058)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeapon.h 2016-01-13 21:19:21 UTC (rev 11059)
@@ -93,7 +93,6 @@
WeakPtr<Pawn> owner_;
WeakPtr<Weapon> weapon_;
- std::multimap<unsigned int, WeaponMode*>* weaponModes_;
std::vector<WeakPtr<HUDWeaponMode> > hudWeaponModes_;
Ogre::PanelOverlayElement* overlayElement_;
Modified: code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponSystem.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponSystem.cc 2016-01-10 19:01:09 UTC (rev 11058)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponSystem.cc 2016-01-13 21:19:21 UTC (rev 11059)
@@ -125,20 +125,23 @@
destroyHUDChilds();
- std::vector<WeaponPack*>* weaponPacks = owner_->getAllWeaponPacks();
-
- for (std::vector<WeaponPack*>::const_iterator itPacks = weaponPacks->begin(); itPacks != weaponPacks->end(); ++itPacks)
+ if (owner_->getWeaponSystem())
{
- std::vector<Weapon*>* weapons = (*itPacks)->getAllWeapons();
+ const std::vector<WeaponPack*>& weaponPacks = owner_->getWeaponSystem()->getAllWeaponPacks();
- for (std::vector<Weapon*>::const_iterator itWeapons = weapons->begin(); itWeapons != weapons->end(); ++itWeapons)
+ for (std::vector<WeaponPack*>::const_iterator itPacks = weaponPacks.begin(); itPacks != weaponPacks.end(); ++itPacks)
{
- this->weapons_.push_back(*itWeapons);
+ const std::vector<Weapon*>& weapons = (*itPacks)->getAllWeapons();
+
+ for (std::vector<Weapon*>::const_iterator itWeapons = weapons.begin(); itWeapons != weapons.end(); ++itWeapons)
+ {
+ this->weapons_.push_back(*itWeapons);
+ }
}
+
+ createHUDChilds();
+ positionHUDChilds();
}
-
- createHUDChilds();
- positionHUDChilds();
}
void HUDWeaponSystem::createHUDChilds()
Modified: code/branches/cpp11_v3/src/orxonox/weaponsystem/Weapon.h
===================================================================
--- code/branches/cpp11_v3/src/orxonox/weaponsystem/Weapon.h 2016-01-10 19:01:09 UTC (rev 11058)
+++ code/branches/cpp11_v3/src/orxonox/weaponsystem/Weapon.h 2016-01-13 21:19:21 UTC (rev 11059)
@@ -56,8 +56,8 @@
void addWeaponmode(WeaponMode* weaponmode);
WeaponMode* getWeaponmode(unsigned int index) const;
- inline std::multimap<unsigned int, WeaponMode*>* getAllWeaponmodes()
- { return &weaponmodes_; }
+ inline const std::multimap<unsigned int, WeaponMode*>& getAllWeaponmodes() const
+ { return weaponmodes_; }
inline int getNumWeaponModes() const
{ return weaponmodes_.size(); }
Modified: code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponPack.cc
===================================================================
--- code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponPack.cc 2016-01-10 19:01:09 UTC (rev 11058)
+++ code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponPack.cc 2016-01-13 21:19:21 UTC (rev 11059)
@@ -123,11 +123,6 @@
return nullptr;
}
- std::vector<Weapon*>* WeaponPack::getAllWeapons()
- {
- return &weapons_;
- }
-
void WeaponPack::addDefaultWeaponmodeLink(DefaultWeaponmodeLink* link)
{
this->links_.insert(link);
Modified: code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponPack.h
===================================================================
--- code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponPack.h 2016-01-10 19:01:09 UTC (rev 11058)
+++ code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponPack.h 2016-01-13 21:19:21 UTC (rev 11059)
@@ -51,7 +51,8 @@
void addWeapon(Weapon * weapon);
void removeWeapon(Weapon * weapon);
Weapon * getWeapon(unsigned int index) const;
- std::vector<Weapon*>* getAllWeapons();
+ inline const std::vector<Weapon*>& getAllWeapons() const
+ { return weapons_; }
inline size_t getNumWeapons() const
{ return this->weapons_.size(); }
Modified: code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponSystem.cc
===================================================================
--- code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponSystem.cc 2016-01-10 19:01:09 UTC (rev 11058)
+++ code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponSystem.cc 2016-01-13 21:19:21 UTC (rev 11059)
@@ -239,11 +239,6 @@
return nullptr;
}
- std::vector<WeaponPack *> * WeaponSystem::getAllWeaponPacks()
- {
- return &weaponPacks_;
- }
-
bool WeaponSystem::swapWeaponSlots(WeaponSlot * wSlot1, WeaponSlot * wSlot2)
{
if (!wSlot1 || !wSlot2)
@@ -347,4 +342,4 @@
(*it)->updateMunition();
}
}
-}
\ No newline at end of file
+}
Modified: code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponSystem.h
===================================================================
--- code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponSystem.h 2016-01-10 19:01:09 UTC (rev 11058)
+++ code/branches/cpp11_v3/src/orxonox/weaponsystem/WeaponSystem.h 2016-01-13 21:19:21 UTC (rev 11059)
@@ -66,7 +66,8 @@
bool addWeaponPack(WeaponPack * wPack);
void removeWeaponPack(WeaponPack * wPack);
WeaponPack * getWeaponPack(unsigned int index) const;
- std::vector<WeaponPack *> * getAllWeaponPacks();
+ inline const std::vector<WeaponPack *>& getAllWeaponPacks() const
+ { return weaponPacks_; }
// configure slots and firemodes
bool swapWeaponSlots(WeaponSlot * wSlot1, WeaponSlot * wSlot2);
Modified: code/branches/cpp11_v3/src/orxonox/worldentities/pawns/Pawn.cc
===================================================================
--- code/branches/cpp11_v3/src/orxonox/worldentities/pawns/Pawn.cc 2016-01-10 19:01:09 UTC (rev 11058)
+++ code/branches/cpp11_v3/src/orxonox/worldentities/pawns/Pawn.cc 2016-01-13 21:19:21 UTC (rev 11059)
@@ -512,14 +512,6 @@
return nullptr;
}
- std::vector<WeaponPack *> * Pawn::getAllWeaponPacks()
- {
- if (this->weaponSystem_)
- return this->weaponSystem_->getAllWeaponPacks();
- else
- return 0;
- }
-
void Pawn::addMunitionXML(Munition* munition)
{
if (this->weaponSystem_ && munition)
@@ -599,4 +591,4 @@
assert(0);
return BLANKSTRING;
}
-}
\ No newline at end of file
+}
Modified: code/branches/cpp11_v3/src/orxonox/worldentities/pawns/Pawn.h
===================================================================
--- code/branches/cpp11_v3/src/orxonox/worldentities/pawns/Pawn.h 2016-01-10 19:01:09 UTC (rev 11058)
+++ code/branches/cpp11_v3/src/orxonox/worldentities/pawns/Pawn.h 2016-01-13 21:19:21 UTC (rev 11059)
@@ -169,7 +169,6 @@
void addWeaponPack(WeaponPack * wPack);
void addWeaponPackXML(WeaponPack * wPack);
WeaponPack * getWeaponPack(unsigned int index) const;
- std::vector<WeaponPack *> * getAllWeaponPacks();
void addMunitionXML(Munition* munition);
Munition* getMunitionXML() const;
More information about the Orxonox-commit
mailing list