- Timestamp:
- May 19, 2016, 5:04:41 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.cc
r11185 r11189 24 24 * Fabian 'x3n' Landau 25 25 * Co-authors: 26 * ...26 * Johannes Sager 27 27 * 28 28 */ … … 63 63 this->bAutoReload_ = true; 64 64 this->bParallelReload_ = true; 65 this->chargeable_ = false; 66 this->charges_ = 0; 67 this->maxCharges_ = 100; 65 this->chargeable_ = false; // most weapons are not chargeable 66 this->charges_ = 0; // always start with no charges 67 this->maxCharges_ = 100; // default maximum charges one can have are 100 68 68 69 69 this->reloadTimer_.setTimer(0.0f, false, createExecutor(createFunctor(&WeaponMode::reloaded, this))); … … 123 123 bool WeaponMode::fire(float* reloadTime) 124 124 { 125 orxout() << "--- " << endl;126 125 (*reloadTime) = this->reloadTime_; 127 126 // Fireing is only possible if this weapon mode is not reloading and there is enough munition … … 175 174 { 176 175 177 if( this->chargeable_) 178 { 179 if(this->charges_ < this->maxCharges_){ 180 this->charges_ += 1; 181 } 176 if( this->chargeable_) // chargeable weapons are supposed to charge on push 177 { 178 this->munition_ = this->weapon_->getWeaponPack()->getWeaponSystem()->getMunition(&this->munitiontype_); // updates the pointer to the munition(which we use in the next step) 179 if(this->charges_ < this->maxCharges_ && this->bReloading_ == false && this->munition_->canTakeMunition(1, this)) // charges up unless: 180 { // - we are fully charged 181 this->charges_ += 1; // - we are reloading 182 } // - we have no munition 182 183 return false; 183 } else { 184 } 185 else // normal (not chargeable) weapons are supposed to fire on push 186 { 184 187 return fire(reloadTime); 185 188 } 186 189 } 187 190 188 bool WeaponMode::release(float* reloadTime) 189 { 190 if( this->chargeable_) 191 bool WeaponMode::release(float* reloadTime) 192 { 193 if( this->chargeable_) // chargeable weapons are supposed to fire on release 191 194 { 192 195 return fire(reloadTime); 193 }else{ 196 } 197 else // normal (not chargeable) weapons should do nothing on release 198 { 194 199 return false; 195 200 }
Note: See TracChangeset
for help on using the changeset viewer.