Changeset 10961 for code/branches/presentationHS15/src/modules
- Timestamp:
- Dec 9, 2015, 2:45:58 PM (9 years ago)
- Location:
- code/branches/presentationHS15
- Files:
-
- 2 deleted
- 45 edited
- 20 copied
Legend:
- Unmodified
- Added
- Removed
-
code/branches/presentationHS15
- Property svn:mergeinfo changed
/code/branches/fabienHS15 (added) merged: 10685,10688,10692,10713-10715,10721,10724,10739,10746,10791,10794-10795,10814,10842,10878
- Property svn:mergeinfo changed
-
code/branches/presentationHS15/src/modules/overlays/CMakeLists.txt
r7163 r10961 16 16 LINK_LIBRARIES 17 17 orxonox 18 weapons 18 19 SOURCE_FILES ${OVERLAYS_SRC_FILES} 19 20 ) -
code/branches/presentationHS15/src/modules/overlays/OverlaysPrereqs.h
r9939 r10961 90 90 class HUDRadar; 91 91 class HUDSpeedBar; 92 class HUDShieldBar; 92 93 class HUDBoostBar; 94 class HUDRocketFuelBar; 95 class HUDEnemyHealthBar; 96 class HUDEnemyShieldBar; 97 class HUDWeaponSystem; 98 class HUDWeapon; 99 class HUDWeaponMode; 93 100 class HUDTimer; 94 101 class HUDAimAssistant; -
code/branches/presentationHS15/src/modules/overlays/hud/CMakeLists.txt
r9939 r10961 5 5 HUDSpeedBar.cc 6 6 HUDBoostBar.cc 7 HUDShieldBar.cc 7 8 HUDHealthBar.cc 9 HUDRocketFuelBar.cc 8 10 HUDTimer.cc 9 11 HUDEnemyHealthBar.cc 12 HUDEnemyShieldBar.cc 13 HUDWeaponMode.cc 14 HUDWeapon.cc 15 HUDWeaponSystem.cc 10 16 ChatOverlay.cc 11 17 AnnounceMessage.cc -
code/branches/presentationHS15/src/modules/overlays/hud/HUDBar.cc
r9667 r10961 47 47 RegisterClass(BarColour); 48 48 49 BarColour::BarColour(Context* context) 50 : BaseObject(context) 49 BarColour::BarColour(Context* context) : BaseObject(context) 51 50 { 52 51 RegisterObject(BarColour); 53 52 54 53 this->setColour(ColourValue(1.0, 1.0, 1.0, 1.0)); 55 54 this->setPosition(0.0); … … 69 68 RegisterClass(HUDBar); 70 69 71 HUDBar::HUDBar(Context* context) 72 : OrxonoxOverlay(context), right2Left_(false), autoColour_(false) 70 HUDBar::HUDBar(Context* context) : OrxonoxOverlay(context), right2Left_(false), autoColour_(false) 73 71 { 74 72 RegisterObject(HUDBar); … … 88 86 this->bar_->setMaterialName(materialname); 89 87 88 this->bar_->setPosition(0.0f,0.0f); 89 this->bar_->setDimensions(1.0f,1.0f); 90 91 this->bUseIcon_ = false; 90 92 this->value_ = 1.0f; // initialize with 1.0f to trigger a change when calling setValue(0.0f) on the line below 91 93 this->setAutoColour(true); … … 95 97 96 98 this->background_->addChild(bar_); 99 100 this->icon_ = static_cast<Ogre::PanelOverlayElement* >(Ogre::OverlayManager::getSingleton().createOverlayElement("Panel", "HUDBar_icon_" + getUniqueNumberString())); 101 this->icon_->setPosition(0.06f,0.0f); 102 this->icon_->setDimensions(0.1f,1.0f); 103 this->background_->addChild(this->icon_); 97 104 } 98 105 … … 115 122 XMLPortParam(HUDBar, "autocolour", setAutoColour, getAutoColour, xmlelement, mode); 116 123 XMLPortParam(HUDBar, "bartexture", setBarTexture, getBarTexture, xmlelement, mode); 124 XMLPortParam(HUDBar, "iconmaterial", setIconMaterial, getIconMaterial, xmlelement, mode); 117 125 XMLPortObject(HUDBar, BarColour, "", addColour, getColour, xmlelement, mode); 118 126 } … … 161 169 } 162 170 171 float height = this->bar_->getHeight(); 172 float top = this->bar_->getTop(); 173 163 174 // set value 164 175 if (this->right2Left_) 165 176 { 166 177 // backward case 167 this->bar_->setPosition(0.06f + 0.88f * (1 - this->value_), 0.0f); 168 this->bar_->setDimensions(0.88f * this->value_, 1.0f); 178 if (this->bUseIcon_) 179 { 180 this->bar_->setPosition(0.16f + 0.78f * (1 - this->value_), top); 181 this->bar_->setDimensions(0.78f * this->value_, height); 182 } 183 else 184 { 185 this->bar_->setPosition(0.06f + 0.88f * (1 - this->value_), top); 186 this->bar_->setDimensions(0.88f * this->value_, height); 187 } 169 188 } 170 189 else 171 190 { 172 191 // default case 173 this->bar_->setPosition(0.06f, 0.0f); 174 this->bar_->setDimensions(0.88f * this->value_, 1.0f); 175 } 192 if (this->bUseIcon_) 193 { 194 this->bar_->setPosition(0.16f, top); 195 this->bar_->setDimensions(0.78f * this->value_, height); 196 } 197 else 198 { 199 this->bar_->setPosition(0.06f, top); 200 this->bar_->setDimensions(0.88f * this->value_, height); 201 } 202 } 203 176 204 if (this->value_ != 0) 177 205 this->bar_->setTiling(this->value_, 1.0); … … 208 236 return this->textureUnitState_->getTextureName(); 209 237 } 238 239 void HUDBar::setIconMaterial(const std::string& iconMaterial) 240 { 241 this->bUseIcon_ = true; 242 this->icon_->setMaterialName(iconMaterial); 243 valueChanged(); 244 } 245 246 const std::string& HUDBar::getIconMaterial() const 247 { 248 return this->icon_->getMaterialName(); 249 } 210 250 } -
code/branches/presentationHS15/src/modules/overlays/hud/HUDBar.h
r9667 r10961 37 37 #include <map> 38 38 #include <vector> 39 #include <OgrePanelOverlayElement.h> 39 40 40 41 #include "util/Math.h" … … 51 52 virtual ~BarColour() { } 52 53 53 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 54 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 54 55 55 56 void setColour(const ColourValue& colour) { this->colour_ = colour; } … … 115 116 const std::string& getBarTexture() const; 116 117 118 void setIconMaterial(const std::string& iconMaterial); 119 const std::string& getIconMaterial() const; 120 117 121 inline const ColourValue& getCurrentBarColour() const 118 122 { return this->currentColour_; } 119 123 124 inline void setIconPosition(Vector2 position) 125 { this->icon_->setPosition(position.x, position.y); } 126 inline void setIconDimensions(Vector2 dimensions) 127 { this->icon_->setDimensions(dimensions.x, dimensions.y); } 128 120 129 protected: 121 130 virtual void valueChanged(); 122 123 131 private: 124 132 void addColour(BarColour* colour); … … 129 137 float value_; //!< progress of bar 130 138 ColourValue currentColour_; 139 bool bUseIcon_; 131 140 132 141 Ogre::PanelOverlayElement* bar_; 133 142 Ogre::TextureUnitState* textureUnitState_; 143 Ogre::PanelOverlayElement* icon_; 134 144 std::map<float, ColourValue> colours_; 135 145 std::vector<BarColour*> barColours_; -
code/branches/presentationHS15/src/modules/overlays/hud/HUDBoostBar.cc
r9667 r10961 59 59 if (this->owner_->isBoostCoolingDown()) 60 60 { 61 this->setBackgroundColour(ColourValue(0.7f, 0.2f, 0.2f));61 //this->setBackgroundColour(ColourValue(0.7f, 0.2f, 0.2f)); 62 62 if (this->flashDt_ <= 0.0f) 63 63 { … … 72 72 this->flashDt_ = 0.0f; 73 73 this->show(); 74 this->setBackgroundColour(ColourValue(0.2f, 0.7f, 0.2f));74 //this->setBackgroundColour(ColourValue(0.2f, 0.7f, 0.2f)); 75 75 } 76 76 -
code/branches/presentationHS15/src/modules/overlays/hud/HUDHealthBar.cc
r9667 r10961 45 45 this->owner_ = 0; 46 46 this->bUseBarColour_ = false; 47 this->textOffset_ = Vector2(0.0f, 0.0f); 48 this->textScale_ = 1.0f; 49 50 this->setIconPosition(Vector2(0.05f,0.5f)); 51 this->setIconDimensions(Vector2(0.1f,0.5f)); 47 52 48 53 this->textoverlay_ = new OverlayText(this->getContext()); … … 51 56 52 57 this->textoverlay_->setCaption(""); 58 this->textoverlay_->setAspectCorrection(false); 59 60 positionText(); 53 61 } 54 62 … … 58 66 { 59 67 this->textoverlay_->destroy(); 60 this->textoverlay_ = 0;68 this->textoverlay_ = NULL; 61 69 } 62 70 } … … 70 78 XMLPortParam(HUDHealthBar, "textusebarcolour", setTextUseBarColour, getTextUseBarColour, xmlelement, mode).defaultValues(false); 71 79 XMLPortParam(HUDHealthBar, "textcolour", setTextColour, getTextColour, xmlelement, mode).defaultValues(ColourValue(1.0, 1.0, 1.0, 1.0)); 72 XMLPortParam(HUDHealthBar, "textsize", setTextSize, getTextSize, xmlelement, mode).defaultValues(1.0f);73 80 XMLPortParam(HUDHealthBar, "textalign", setTextAlignmentString, getTextAlignmentString, xmlelement, mode).defaultValues("left"); 74 81 XMLPortParam(HUDHealthBar, "textoffset", setTextOffset, getTextOffset, xmlelement, mode).defaultValues(Vector2::ZERO); 82 XMLPortParam(HUDHealthBar, "textscale", setTextScale, getTextScale, xmlelement, mode).defaultValues(1.0f); 75 83 XMLPortParam(HUDHealthBar, "textpickpoint", setTextPickPoint, getTextPickPoint, xmlelement, mode).defaultValues(Vector2::ZERO); 76 84 XMLPortParam(HUDHealthBar, "textrotation", setTextRotation, getTextRotation, xmlelement, mode).defaultValues(0.0f); 77 XMLPortParam(HUDHealthBar, "textcorrectaspect", setTextAspectCorrection, getTextAspectCorrection, xmlelement, mode).defaultValues(true);78 85 XMLPortParam(HUDHealthBar, "textspacewidth", setTextSpaceWidth, getTextSpaceWidth, xmlelement, mode).defaultValues(true); 79 86 } … … 139 146 this->textoverlay_->setColour(this->textColour_); 140 147 } 148 149 void HUDHealthBar::positionText() 150 { 151 this->textoverlay_->setPosition(this->getPosition() + this->textOffset_*this->getActualSize()); 152 this->textoverlay_->setTextSize(this->getActualSize().y*this->textScale_); 153 } 154 155 void HUDHealthBar::positionChanged() 156 { 157 HUDBar::positionChanged(); 158 positionText(); 159 } 160 161 void HUDHealthBar::sizeChanged() 162 { 163 HUDBar::sizeChanged(); 164 positionText(); 165 } 141 166 } -
code/branches/presentationHS15/src/modules/overlays/hud/HUDHealthBar.h
r10624 r10961 75 75 { return this->textoverlay_->getAlignmentString(); } 76 76 77 inline void setTextSize(float size)78 { this->textoverlay_->setTextSize(size); }79 inline float getTextSize() const80 { return this->textoverlay_->getTextSize(); }81 82 77 inline void setTextVisible(bool bVisible) 83 78 { this->textoverlay_->setVisible(bVisible); } 84 79 inline bool getTextVisible() const 85 80 { return this->textoverlay_->isVisible(); } 81 82 inline void setTextScale(float scale) 83 { this->textScale_ = scale; 84 positionText(); 85 } 86 inline float getTextScale() const 87 { return this->textScale_; } 86 88 87 89 inline void setTextPickPoint(const Vector2& pickpoint) … … 91 93 92 94 inline void setTextOffset(const Vector2& position) 93 { this->textoverlay_->setPosition(this->getPosition() + (position - this->getPickPoint()) * this->getSize()); } 95 { this->textOffset_ = position; 96 this->positionText(); 97 } 94 98 inline Vector2 getTextOffset() const 95 { return (this->textoverlay_->getPosition() - this->getPosition()) / this->getSize() + this->getPickPoint(); } 96 97 inline void setTextAspectCorrection(bool correct) 98 { this->textoverlay_->setAspectCorrection(correct); } 99 inline bool getTextAspectCorrection() const 100 { return this->textoverlay_->getAspectCorrection(); } 99 { return this->textOffset_; } 101 100 102 101 inline void setTextRotation(const Degree& angle) … … 112 111 inline void setHealthBarOwner(Pawn* owner) 113 112 { this->owner_ = owner; } 114 113 protected: 114 virtual void positionChanged(); 115 virtual void sizeChanged(); 115 116 private: 117 virtual void positionText(); 116 118 WeakPtr<Pawn> owner_; 117 119 StrongPtr<OverlayText> textoverlay_; 118 120 bool bUseBarColour_; 119 121 ColourValue textColour_; 122 Vector2 textOffset_; 123 float textScale_; 120 124 }; 121 125 } -
code/branches/presentationHS15/src/modules/pickup/PickupPrereqs.h
r9348 r10961 85 85 class ShrinkPickup; 86 86 class DamageBoostPickup; 87 class MunitionPickup; 88 class MunitionContainer; 87 89 } 88 90 -
code/branches/presentationHS15/src/modules/pickup/PickupRepresentation.cc
r9667 r10961 187 187 Billboard* icon = new Billboard(spawner->getContext()); 188 188 icon->setColour(ColourValue(0.89f, 0.79f, 0.08f)); 189 icon->setMaterial(" asterisk");189 icon->setMaterial("Unknown"); 190 190 icon->setScale(0.5); 191 191 sphere->attach(icon); -
code/branches/presentationHS15/src/modules/pickup/items/CMakeLists.txt
r9348 r10961 8 8 ShrinkPickup.cc 9 9 DamageBoostPickup.cc 10 BoostPickup.cc 11 MunitionPickup.cc 12 MunitionContainer.cc 10 13 ) -
code/branches/presentationHS15/src/modules/pickup/items/DronePickup.h
r9667 r10961 43 43 #include "tools/interfaces/Tickable.h" 44 44 45 namespace orxonox { 45 namespace orxonox 46 { 46 47 47 48 /** … … 80 81 std::string droneTemplate_; //!< The name of the template, based upon which the Drone is created. 81 82 Pawn* carrierToPawnHelper(void); //!< Helper to transform the PickupCarrier to a Pawn, and throw an error message if the conversion fails. 82 83 84 85 83 }; 86 84 } -
code/branches/presentationHS15/src/modules/towerdefense/TowerDefenseTower.cc
r10727 r10961 61 61 { 62 62 upgrade++; 63 float reloadrate = getReloadRate();64 float reloadwaittime = getReloadWaitTime();65 63 this->setDamageMultiplier((upgrade+1)*2.0f); 66 64 //this->setRotationThrust(2*this->getRotationThrust()); 67 reloadrate = 0.5f*reloadrate;68 reloadwaittime = 0.5f*reloadwaittime;69 setReloadRate(reloadrate);70 setReloadWaitTime(reloadwaittime);71 65 //this->addTemplate("towerturret1"); 72 66 } -
code/branches/presentationHS15/src/modules/weapons/WeaponsPrereqs.h
r10622 r10961 69 69 { 70 70 class MuzzleFlash; 71 class IceGunFreezer; 72 class RocketController; 71 73 72 74 // munitions 73 75 class FusionMunition; 74 76 class LaserMunition; 75 class ReplenishingMunition;76 77 class RocketMunition; 77 78 class GravityBombMuntion; 79 class IceMunition; 80 class LightningMunition; 81 class SplitMunition; 78 82 79 83 // projectiles … … 81 85 class LightningGunProjectile; 82 86 class ParticleProjectile; 87 class IceProjectile; 88 class SplitProjectile; 83 89 class Projectile; 90 class BasicProjectile; 84 91 class Rocket; 85 92 class RocketOld; … … 91 98 class FusionFire; 92 99 class HsW01; 100 class IceGun; 101 class SplitGun; 93 102 class LaserFire; 94 103 class LightningGun; -
code/branches/presentationHS15/src/modules/weapons/munitions/CMakeLists.txt
r10629 r10961 1 1 ADD_SOURCE_FILES(WEAPONS_SRC_FILES 2 ReplenishingMunition.cc3 2 LaserMunition.cc 3 LightningMunition.cc 4 4 FusionMunition.cc 5 5 RocketMunition.cc -
code/branches/presentationHS15/src/modules/weapons/munitions/FusionMunition.cc
r9667 r10961 28 28 29 29 /** 30 @file FusionMunition. h30 @file FusionMunition.cc 31 31 @brief Implementation of the FusionMunition class. 32 32 */ … … 34 34 #include "FusionMunition.h" 35 35 #include "core/CoreIncludes.h" 36 #include "core/XMLPort.h" 36 37 37 38 namespace orxonox … … 45 46 this->maxMunitionPerMagazine_ = 10; 46 47 this->maxMagazines_ = 10; 47 this-> magazines_ = 10;48 this->unassignedMagazines_ = 10; 48 49 49 this-> bUseSeparateMagazines_ = true;50 this->bStackMunition_ = false; 50 this->deployment_ = MunitionDeployment::Separate; 51 51 52 this->reloadTime_ = 1.0f; 52 53 53 54 this->bAllowMunitionRefilling_ = true; 54 55 this->bAllowMultiMunitionRemovementUnderflow_ = true; 56 57 this->reloadTime_ = 0.5f; 58 } 59 60 void FusionMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode) 61 { 62 SUPER(FusionMunition, XMLPort, xmlelement, mode); 55 63 } 56 64 } -
code/branches/presentationHS15/src/modules/weapons/munitions/FusionMunition.h
r9667 r10961 53 53 FusionMunition(Context* context); 54 54 virtual ~FusionMunition() {} 55 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 55 56 }; 56 57 } -
code/branches/presentationHS15/src/modules/weapons/munitions/GravityBombMunition.cc
r10622 r10961 7 7 #include "GravityBombMunition.h" 8 8 #include "core/CoreIncludes.h" 9 #include "core/XMLPort.h" 9 10 10 11 namespace orxonox … … 17 18 this->maxMunitionPerMagazine_ = 1; 18 19 this->maxMagazines_ = 30; 19 this-> magazines_ = 15;20 this->unassignedMagazines_ = 15; 20 21 21 this->bUseSeparateMagazines_ = false; 22 this->bStackMunition_ = true; 22 this->deployment_ = MunitionDeployment::Stack; 23 23 24 24 this->bAllowMunitionRefilling_ = true; 25 25 this->bAllowMultiMunitionRemovementUnderflow_ = false; 26 27 this->reloadTime_ = 0.0f; 26 28 } 27 29 30 void GravityBombMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode) 31 { 32 SUPER(GravityBombMunition, XMLPort, xmlelement, mode); 33 } 28 34 } 29 35 -
code/branches/presentationHS15/src/modules/weapons/munitions/GravityBombMunition.h
r10622 r10961 28 28 GravityBombMunition(Context* context); 29 29 virtual ~GravityBombMunition() {} 30 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 30 31 }; 31 32 -
code/branches/presentationHS15/src/modules/weapons/munitions/IceMunition.cc
r10629 r10961 28 28 29 29 /** 30 @file IceMunition. h30 @file IceMunition.cc 31 31 @brief Implementation of the IceMunition class. 32 32 */ … … 34 34 #include "IceMunition.h" 35 35 #include "core/CoreIncludes.h" 36 #include "core/XMLPort.h" 36 37 37 38 namespace orxonox … … 45 46 this->maxMunitionPerMagazine_ = 1; 46 47 this->maxMagazines_ = 50; 47 this-> magazines_ = 25;48 this->unassignedMagazines_ = 25; 48 49 49 this->bUseSeparateMagazines_ = false; 50 this->bStackMunition_ = true; 50 this->deployment_ = MunitionDeployment::Stack; 51 51 52 this->bAllowMunitionRefilling_ = false;52 this->bAllowMunitionRefilling_ = true; 53 53 this->bAllowMultiMunitionRemovementUnderflow_ = false; 54 55 this->reloadTime_ = 0.5f; 56 } 57 58 void IceMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode) 59 { 60 SUPER(IceMunition, XMLPort, xmlelement, mode); 54 61 } 55 62 } -
code/branches/presentationHS15/src/modules/weapons/munitions/IceMunition.h
r10629 r10961 53 53 IceMunition(Context* context); 54 54 virtual ~IceMunition() {} 55 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 55 56 }; 56 57 } -
code/branches/presentationHS15/src/modules/weapons/munitions/LaserMunition.cc
r9667 r10961 28 28 29 29 /** 30 @file LaserMunition. h30 @file LaserMunition.cc 31 31 @brief Implementation of the LaserMunition class. 32 32 */ … … 34 34 #include "LaserMunition.h" 35 35 #include "core/CoreIncludes.h" 36 #include "core/XMLPort.h" 36 37 37 38 namespace orxonox … … 44 45 45 46 this->maxMunitionPerMagazine_ = 20; 46 this->maxMagazines_ = 1 ;47 this-> magazines_ = 1;47 this->maxMagazines_ = 10; 48 this->unassignedMagazines_ = 10; 48 49 49 this->bUseSeparateMagazines_ = false; 50 this->bStackMunition_ = true; 50 this->deployment_ = MunitionDeployment::Separate; 51 51 52 52 this->bAllowMunitionRefilling_ = true; 53 53 this->bAllowMultiMunitionRemovementUnderflow_ = true; 54 54 55 this->replenishInterval_ = 0.5f; 56 this->replenishMunitionAmount_ = 1; 55 this->replenishInterval_ = 7.0f; 56 this->replenishAmount_ = 1; 57 58 this->reloadTime_ = 0.5f; 59 } 60 61 void LaserMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode) 62 { 63 SUPER(LaserMunition, XMLPort, xmlelement, mode); 57 64 } 58 65 } -
code/branches/presentationHS15/src/modules/weapons/munitions/LaserMunition.h
r9667 r10961 36 36 37 37 #include "weapons/WeaponsPrereqs.h" 38 #include " ReplenishingMunition.h"38 #include "weaponsystem/ReplenishingMunition.h" 39 39 40 40 namespace orxonox … … 53 53 LaserMunition(Context* context); 54 54 virtual ~LaserMunition() {} 55 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 55 56 }; 56 57 } -
code/branches/presentationHS15/src/modules/weapons/munitions/RocketMunition.cc
r9667 r10961 28 28 29 29 /** 30 @file RocketMunition. h30 @file RocketMunition.cc 31 31 @brief Implementation of the RocketMunition class. 32 32 */ … … 34 34 #include "RocketMunition.h" 35 35 #include "core/CoreIncludes.h" 36 #include "core/XMLPort.h" 36 37 37 38 namespace orxonox … … 45 46 this->maxMunitionPerMagazine_ = 1; 46 47 this->maxMagazines_ = 30; 47 this-> magazines_ = 10;48 this->unassignedMagazines_ = 10; 48 49 49 this->bUseSeparateMagazines_ = false; 50 this->bStackMunition_ = true; 50 this->deployment_ = MunitionDeployment::Stack; 51 51 52 this->bAllowMunitionRefilling_ = false;52 this->bAllowMunitionRefilling_ = true; 53 53 this->bAllowMultiMunitionRemovementUnderflow_ = false; 54 55 this->reloadTime_ = 0.5f; 56 } 57 58 void RocketMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode) 59 { 60 SUPER(RocketMunition, XMLPort, xmlelement, mode); 54 61 } 55 62 } -
code/branches/presentationHS15/src/modules/weapons/munitions/RocketMunition.h
r9667 r10961 53 53 RocketMunition(Context* context); 54 54 virtual ~RocketMunition() {} 55 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 55 56 }; 56 57 } -
code/branches/presentationHS15/src/modules/weapons/munitions/SplitMunition.cc
r10629 r10961 28 28 29 29 /** 30 @file SplitMunition. h30 @file SplitMunition.cc 31 31 @brief Implementation of the SplitMunition class. 32 32 */ … … 34 34 #include "SplitMunition.h" 35 35 #include "core/CoreIncludes.h" 36 #include "core/XMLPort.h" 36 37 37 38 namespace orxonox … … 43 44 RegisterObject(SplitMunition); 44 45 45 this->maxMunitionPerMagazine_ = 1;46 this->maxMagazines_ = 10 0;47 this-> magazines_ = 25;46 this->maxMunitionPerMagazine_ = 5; 47 this->maxMagazines_ = 10; 48 this->unassignedMagazines_ = 5; 48 49 49 this->bUseSeparateMagazines_ = false; 50 this->bStackMunition_ = true; 50 this->deployment_ = MunitionDeployment::Share; 51 51 52 52 this->bAllowMunitionRefilling_ = true; 53 53 this->bAllowMultiMunitionRemovementUnderflow_ = false; 54 55 this->reloadTime_ = 0.5f; 56 } 57 58 void SplitMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode) 59 { 60 SUPER(SplitMunition, XMLPort, xmlelement, mode); 54 61 } 55 62 } -
code/branches/presentationHS15/src/modules/weapons/munitions/SplitMunition.h
r10629 r10961 53 53 SplitMunition(Context* context); 54 54 virtual ~SplitMunition() {} 55 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 55 56 }; 56 57 } -
code/branches/presentationHS15/src/modules/weapons/projectiles/BasicProjectile.cc
r10293 r10961 68 68 @brief 69 69 The function called when a projectile hits another thing. 70 Calls the hit-function, starts the reloadcountdown, displays visual hit effects defined in Pawn.70 Calls the hit-function, starts the shield recharge countdown, displays visual hit effects defined in Pawn. 71 71 Needs to be called in the collidesAgainst() function by every Class directly inheriting from BasicProjectile. 72 72 @param otherObject … … 97 97 { 98 98 victim->hit(this->getShooter(), contactPoint, cs, this->getDamage(), this->getHealthDamage(), this->getShieldDamage()); 99 victim->start ReloadCountdown();99 victim->startShieldRechargeCountdown(); 100 100 } 101 101 -
code/branches/presentationHS15/src/modules/weapons/projectiles/GravityBombField.cc
r10622 r10961 164 164 if (lifetime_ <= -4) 165 165 { 166 orxout(debug_output) << "Timeout. Destroying field." << endl;167 166 this->destroy(); 168 167 } -
code/branches/presentationHS15/src/modules/weapons/projectiles/Rocket.cc
r10622 r10961 66 66 67 67 this->localAngularVelocity_ = 0; 68 this->lifetime_ = 100.0f;68 this->lifetime_ = 20.0f; 69 69 70 70 if (GameMode::isMaster()) … … 76 76 Model* model = new Model(this->getContext()); 77 77 model->setMeshSource("rocket.mesh"); 78 model->scale( 0.7f);78 model->scale(1.0f); 79 79 this->attach(model); 80 80 … … 100 100 this->attachCollisionShape(collisionShape); 101 101 102 this->destroyTimer_.setTimer(this->lifetime_, false, createExecutor(createFunctor(&BasicProjectile::destroyObject, this)));103 104 102 // Add sound 105 103 this->defSndWpnEngine_ = new WorldSound(this->getContext()); … … 114 112 this->defSndWpnLaunch_->setVolume(1.0f); 115 113 this->attach(defSndWpnLaunch_); 114 115 this->setHudTemplate("rockethud"); 116 116 } 117 117 else … … 320 320 } 321 321 322 float Rocket::getFuel() const 323 { 324 return this->destroyTimer_.getRemainingTime(); 325 } 326 327 void Rocket::setMaxFuel(float fuel) 328 { 329 this->lifetime_ = fuel; 330 this->destroyTimer_.setTimer(this->lifetime_, false, createExecutor(createFunctor(&BasicProjectile::destroyObject, this))); 331 } 322 332 } -
code/branches/presentationHS15/src/modules/weapons/projectiles/Rocket.h
r10216 r10961 118 118 virtual void fired(unsigned int firemode); 119 119 120 /** 121 @brief Set the maximum lifetime of the rocket. 122 */ 123 virtual void setMaxFuel(float fuel); 124 /** 125 @brief Get the maximum lifetime of the rocket. 126 */ 127 inline float getMaxFuel() const 128 { return lifetime_; } 129 virtual float getFuel() const; 130 120 131 private: 121 132 Vector3 localAngularVelocity_; //!< Variable to temporarily store accumulated steering command input. -
code/branches/presentationHS15/src/modules/weapons/projectiles/SimpleRocket.cc
r10299 r10961 76 76 Model* model = new Model(this->getContext()); 77 77 model->setMeshSource("rocket.mesh"); 78 model->scale( 0.7f);78 model->scale(1.0f); 79 79 this->attach(model); 80 80 -
code/branches/presentationHS15/src/modules/weapons/weaponmodes/EnergyDrink.cc
r10622 r10961 63 63 this->delayTimer_.setTimer(1.0f, false, createExecutor(createFunctor(&EnergyDrink::shot, this))); 64 64 this->delayTimer_.stopTimer(); 65 66 hudImageString_ = "Orxonox/WSHUD_WM_EnergyDrink"; 65 67 } 66 68 -
code/branches/presentationHS15/src/modules/weapons/weaponmodes/FusionFire.cc
r10622 r10961 58 58 59 59 this->setMunitionName("FusionMunition"); 60 61 hudImageString_ = "Orxonox/WSHUD_WM_FusionFire"; 60 62 } 61 63 -
code/branches/presentationHS15/src/modules/weapons/weaponmodes/GravityBombFire.cc
r10622 r10961 31 31 this->setMunitionName("GravityBombMunition"); 32 32 this->setDefaultSoundWithVolume("sounds/Rocket_launch.ogg",0.8); ///< sets sound of the bomb as it is fired. 33 34 hudImageString_ = "Orxonox/WSHUD_WM_GravityBombFire"; 33 35 } 34 36 -
code/branches/presentationHS15/src/modules/weapons/weaponmodes/HsW01.cc
r10296 r10961 69 69 70 70 this->setDefaultSound(this->sound_); 71 72 hudImageString_ = "Orxonox/WSHUD_WM_HsW01"; 71 73 } 72 74 -
code/branches/presentationHS15/src/modules/weapons/weaponmodes/IceGun.cc
r10629 r10961 59 59 this->setFreezeFactor(0.5); 60 60 61 this->setMunitionName(" LaserMunition");61 this->setMunitionName("IceMunition"); 62 62 this->setDefaultSound("sounds/Weapon_LightningGun.ogg"); 63 64 hudImageString_ = "Orxonox/WSHUD_WM_IceGun"; 63 65 } 64 66 -
code/branches/presentationHS15/src/modules/weapons/weaponmodes/LaserFire.cc
r10622 r10961 56 56 57 57 this->setMunitionName("LaserMunition"); 58 59 hudImageString_ = "Orxonox/WSHUD_WM_LaserFire"; 58 60 } 59 61 -
code/branches/presentationHS15/src/modules/weapons/weaponmodes/LightningGun.cc
r10296 r10961 54 54 this->speed_ = 750.0f; 55 55 56 this->setMunitionName("L aserMunition");56 this->setMunitionName("LightningMunition"); 57 57 this->setDefaultSound("sounds/Weapon_LightningGun.ogg"); 58 59 hudImageString_ = "Orxonox/WSHUD_WM_LightningGun"; 58 60 } 59 61 -
code/branches/presentationHS15/src/modules/weapons/weaponmodes/RocketFire.cc
r10296 r10961 41 41 #include "weaponsystem/WeaponSystem.h" 42 42 #include "worldentities/pawns/Pawn.h" 43 43 #include "core/XMLPort.h" 44 44 #include "weapons/projectiles/Rocket.h" 45 45 … … 56 56 this->damage_ = 0.0f; 57 57 this->speed_ = 500.0f; 58 this->fuel_ = 10.0f; 58 59 59 60 this->setMunitionName("RocketMunition"); 60 61 // The firing sound of the Rocket is played in Rocket.cc (because of OpenAl sound positioning) 62 63 hudImageString_ = "Orxonox/WSHUD_WM_RocketFire"; 61 64 } 62 65 63 66 RocketFire::~RocketFire() 64 67 { 68 } 69 70 /** 71 @brief 72 XMLPort for the RocketFire. You can define the maximum lifetime of the rockets 73 */ 74 void RocketFire::XMLPort(Element& xmlelement, XMLPort::Mode mode) 75 { 76 SUPER(RocketFire, XMLPort, xmlelement, mode); 77 78 XMLPortParam(RocketFire, "fuel", setFuel, getFuel, xmlelement, mode); 65 79 } 66 80 … … 77 91 rocket->setPosition(this->getMuzzlePosition()); 78 92 rocket->setVelocity(this->getMuzzleDirection() * this->speed_); 79 rocket->scale( 2);93 rocket->scale(1.0f); 80 94 81 95 rocket->setShooter(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn()); … … 83 97 rocket->setShieldDamage(this->getShieldDamage()); 84 98 rocket->setHealthDamage(this->getHealthDamage()); 99 rocket->setMaxFuel(this->fuel_); 85 100 } 86 101 } -
code/branches/presentationHS15/src/modules/weapons/weaponmodes/RocketFire.h
r9667 r10961 54 54 virtual ~RocketFire(); 55 55 56 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 57 56 58 virtual void fire(); 59 inline void setFuel(float fuel) 60 { this->fuel_ = fuel; } 61 inline float getFuel() const 62 { return this->fuel_; } 57 63 58 64 private: 59 65 float speed_; //!< The speed of the Rocket. 66 float fuel_; //!< The maximum lifetime of the rocket 60 67 }; 61 68 } -
code/branches/presentationHS15/src/modules/weapons/weaponmodes/RocketFireOld.cc
r10622 r10961 59 59 this->setMunitionName("RocketMunition"); 60 60 // The firing sound of the Rocket is played in Rocket.cc (because of OpenAl sound positioning) 61 62 hudImageString_ = "Orxonox/WSHUD_WM_SimpleRocketFire"; 61 63 } 62 64 -
code/branches/presentationHS15/src/modules/weapons/weaponmodes/SimpleRocketFire.cc
r9667 r10961 64 64 this->setDefaultSoundWithVolume("sounds/Rocket_launch.ogg",0.4f); 65 65 // The firing sound of the Rocket is played in Rocket.cc (because of OpenAl sound positioning) 66 67 hudImageString_ = "Orxonox/WSHUD_WM_SimpleRocketFire"; 66 68 } 67 69 … … 83 85 rocket->setVelocity(this->getMuzzleDirection()*this->speed_); 84 86 rocket->setShooter(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn()); 87 rocket->scale(1.0f); 85 88 86 89 rocket->setDamage(this->damage_); … … 89 92 90 93 WorldEntity* pawn = static_cast<ControllableEntity*>(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn())->getTarget(); 91 if (pawn) controller->setTarget(pawn); 94 if (pawn) 95 controller->setTarget(pawn); 92 96 } 93 97 } -
code/branches/presentationHS15/src/modules/weapons/weaponmodes/SplitGun.cc
r10629 r10961 35 35 36 36 #include "core/CoreIncludes.h" 37 #include "core/XMLPort.h" 37 #include "core/XMLPort.h" 38 38 #include "weaponsystem/Weapon.h" 39 39 #include "weaponsystem/WeaponPack.h" … … 62 62 this->setMunitionName("SplitMunition"); 63 63 this->setDefaultSound("sounds/Weapon_LightningGun.ogg"); 64 65 hudImageString_ = "Orxonox/WSHUD_WM_SplitGun"; 64 66 } 65 67
Note: See TracChangeset
for help on using the changeset viewer.