Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 19, 2016, 5:04:41 PM (8 years ago)
Author:
sagerj
Message:

done/fixed everything, weaponmode/discharger fully commented only hudchargebar left

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.cc

    r11185 r11189  
    2424 *      Fabian 'x3n' Landau
    2525 *   Co-authors:
    26  *      ...
     26 *      Johannes Sager
    2727 *
    2828 */
     
    6363        this->bAutoReload_ = true;
    6464        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
    6868
    6969        this->reloadTimer_.setTimer(0.0f, false, createExecutor(createFunctor(&WeaponMode::reloaded, this)));
     
    123123    bool WeaponMode::fire(float* reloadTime)
    124124    {
    125         orxout() << "--- " << endl;
    126125        (*reloadTime) = this->reloadTime_;
    127126        // Fireing is only possible if this weapon mode is not reloading and there is enough munition
     
    175174    {
    176175
    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
    182183            return false;
    183         } else {
     184        }
     185        else                                                                                                                            // normal (not chargeable) weapons are supposed to fire on push
     186        {
    184187            return fire(reloadTime);
    185188        }
    186189    }
    187190
    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
    191194        {
    192195            return fire(reloadTime);
    193         }else{
     196        }
     197        else                                                                                                                            // normal (not chargeable) weapons should do nothing on release
     198        {
    194199            return false;
    195200        }
Note: See TracChangeset for help on using the changeset viewer.