Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 28, 2016, 3:09:26 PM (8 years ago)
Author:
sagerj
Message:

overwritten many fire functions now only need to implement timer/charges

Location:
code/branches/sagerjFS16/src/orxonox
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • code/branches/sagerjFS16/src/orxonox/controllers/AIController.cc

    r11071 r11175  
    197197                    if (this->bHasTargetPosition_)
    198198                        this->moveToTargetPosition();
    199                     this->doFire();
     199                    this->doPush();
    200200                }
    201201
     
    227227                    this->moveToTargetPosition();
    228228
    229                     this->doFire();
     229                    this->doPush();
    230230            }
    231231        }
     
    241241                    if((timeout_< 0)||(!target_))//Check if the timeout is over or target died.
    242242                    {
    243                        controllable->fire(0);//kill the rocket
     243                       controllable->push(0);//kill the rocket
    244244                       this->setPreviousMode();//get out of rocket mode
    245245                    }
  • code/branches/sagerjFS16/src/orxonox/controllers/ArtificialController.cc

    r11099 r11175  
    132132        @brief DoFire is called when a bot should shoot and decides which weapon is used and whether the bot shoots at all.
    133133    */
    134     void ArtificialController::doFire()
     134    void ArtificialController::doPush()
    135135    {
    136136        if(!this->bSetupWorked)//setup: find out which weapons are active ! hard coded: laser is "0", lens flare is "1", ...
     
    144144            if (this->isCloseAtTarget(130) && (firemode = getFiremode("LightningGun")) > -1 )
    145145            {//LENSFLARE: short range weapon
    146                 this->getControllableEntity()->fire(firemode); //ai uses lens flare if they're close enough to the target
     146                this->getControllableEntity()->push(firemode); //ai uses lens flare if they're close enough to the target
    147147            }
    148148            else if( this->isCloseAtTarget(400) && (random < this->botlevel_) && (firemode = getFiremode("RocketFire")) > -1 )
    149149            {//ROCKET: mid range weapon
    150150                this->mode_ = ROCKET; //Vector-implementation: mode_.push_back(ROCKET);
    151                 this->getControllableEntity()->fire(firemode); //launch rocket
     151                this->getControllableEntity()->push(firemode); //launch rocket
    152152                if(this->getControllableEntity() && this->target_) //after fire(3) is called, getControllableEntity() refers to the rocket!
    153153                {
     
    161161            }
    162162            else if ((firemode = getFiremode("HsW01")) > -1 ) //LASER: default weapon
    163                 this->getControllableEntity()->fire(firemode);
     163                this->getControllableEntity()->push(firemode);
    164164        }
    165165    }
  • code/branches/sagerjFS16/src/orxonox/controllers/ArtificialController.h

    r11071 r11175  
    4848            virtual void changedControllableEntity() override;
    4949
    50             virtual void doFire();
     50            virtual void doPush();
    5151            void setBotLevel(float level=1.0f);
    5252            inline float getBotLevel() const
  • code/branches/sagerjFS16/src/orxonox/controllers/DroneController.cc

    r11071 r11175  
    130130                       this->aimAtTarget();
    131131                       if(!this->friendlyFire())
    132                            this->getDrone()->fire(0);
     132                           this->getDrone()->push(0);
    133133                    }
    134134               }
  • code/branches/sagerjFS16/src/orxonox/controllers/FightingController.cc

    r11083 r11175  
    318318        }
    319319             
    320         this->getControllableEntity()->fire(firemode);
     320        this->getControllableEntity()->push(firemode);
    321321       
    322322    }
  • code/branches/sagerjFS16/src/orxonox/controllers/WaypointPatrolController.cc

    r11071 r11175  
    6969
    7070            if (this->getControllableEntity() && this->isCloseAtTarget(this->attackradius_) && this->isLookingAtTarget(math::pi / 20.0f))
    71                 this->getControllableEntity()->fire(0);
     71                this->getControllableEntity()->push(0);
    7272        }
    7373        else
  • code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.cc

    r11174 r11175  
    6363        this->bAutoReload_ = true;
    6464        this->bParallelReload_ = true;
     65        this->chargeable_ = false;
    6566
    6667        this->reloadTimer_.setTimer(0.0f, false, createExecutor(createFunctor(&WeaponMode::reloaded, this)));
     
    120121    bool WeaponMode::fire(float* reloadTime)
    121122    {
     123        orxout() << "--- " << endl;
    122124        (*reloadTime) = this->reloadTime_;
    123125        // Fireing is only possible if this weapon mode is not reloading and there is enough munition
     
    170172    bool WeaponMode::push(float* reloadTime)
    171173    {
     174        orxout() << "push " << chargeable_ << endl;
    172175        if( this->chargeable_)
    173176        {
    174177            // setting up a timer for knowing how long the weapon was charged
    175178            // and passes the value to this->cTime_
     179            orxout() << "if " << endl;
     180            return false;
    176181        } else {
     182            orxout() << "else " << endl;
    177183            return fire(reloadTime);
    178184        }
    179        
    180185    }
    181186
    182187    bool WeaponMode::release(float* reloadTime)
    183188    {
     189        orxout() << "release " << endl;
    184190        if( this->chargeable_)
    185         {
     191        {
     192            orxout() << "if " << endl;
    186193            return fire(reloadTime);
     194        }else{
     195            orxout() << "else " << endl;
     196            return false;
    187197        }
    188198    }
  • code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.h

    r11174 r11175  
    174174            bool bAutoReload_; // If true, the weapon reloads the magazine automatically.
    175175            bool bParallelReload_; // If true, the weapon reloads in parallel to the magazine reloading.
     176            bool chargeable_; // If true, the weapon fires at release instead at push(where he charges up)
    176177
    177178            float damage_;
  • code/branches/sagerjFS16/src/orxonox/worldentities/ControllableEntity.cc

    r11174 r11175  
    4949    RegisterClass(ControllableEntity);
    5050
    51     registerMemberNetworkFunction( ControllableEntity, fire );
     51    registerMemberNetworkFunction( ControllableEntity, push );
    5252    registerMemberNetworkFunction( ControllableEntity, setTargetInternal );
    5353
     
    307307        else
    308308        {
    309             callMemberNetworkFunction(&ControllableEntity::fire, this->getObjectID(), 0, firemode);
     309            callMemberNetworkFunction(&ControllableEntity::push, this->getObjectID(), 0, firemode);
    310310        }
    311311    }
     
    319319        else
    320320        {
    321             callMemberNetworkFunction(&ControllableEntity::fire, this->getObjectID(), 0, firemode);
     321            callMemberNetworkFunction(&ControllableEntity::release, this->getObjectID(), 0, firemode);
    322322        }
    323323    }
  • code/branches/sagerjFS16/src/orxonox/worldentities/pawns/Spectator.cc

    r11071 r11175  
    4242namespace orxonox
    4343{
    44     extern const std::string __CC_fire_name;
     44    extern const std::string __CC_push_name;
    4545    extern const std::string __CC_suicide_name;
    4646
     
    162162
    163163        // change keybind mode of fire command to OnPress to avoid firing after respawn
    164         ModifyConsoleCommand(__CC_fire_name).keybindMode(KeybindMode::OnPress);
     164        ModifyConsoleCommand(__CC_push_name).keybindMode(KeybindMode::OnPress);
    165165
    166166        // disable suicide
     
    177177        // change fire command to a helper function and change keybind mode to OnPress
    178178        // as soon as the player releases and presses the button again, the helper function will be called which changes the keybind mode back to OnHold
    179         ModifyConsoleCommand(__CC_fire_name).pushFunction(&Spectator::resetFireCommand).keybindMode(KeybindMode::OnPress);
     179        ModifyConsoleCommand(__CC_push_name).pushFunction(&Spectator::resetFireCommand).keybindMode(KeybindMode::OnPress);
    180180
    181181        // enable suicide
     
    188188    void Spectator::resetFireCommand(unsigned int firemode)
    189189    {
    190         ModifyConsoleCommand(__CC_fire_name).popFunction().keybindMode(KeybindMode::OnHold); // pop this helper function and change keybind mode
    191 
    192         CommandExecutor::execute(__CC_fire_name + " " + multi_cast<std::string>(firemode)); // call the fire command again, this time with the real function
     190        ModifyConsoleCommand(__CC_push_name).popFunction().keybindMode(KeybindMode::OnHold); // pop this helper function and change keybind mode
     191
     192        CommandExecutor::execute(__CC_push_name + " " + multi_cast<std::string>(firemode)); // call the fire command again, this time with the real function
    193193    }
    194194
     
    229229    }
    230230
    231     void Spectator::fired(unsigned int firemode)
     231    void Spectator::pushed(unsigned int firemode)
    232232    {
    233233        if (this->getPlayer())
  • code/branches/sagerjFS16/src/orxonox/worldentities/pawns/Spectator.h

    r9667 r11175  
    5454            virtual void rotateRoll(const Vector2& value);
    5555
    56             virtual void fired(unsigned int firemode);
     56            virtual void pushed(unsigned int firemode);
    5757            virtual void greet();
    5858            virtual void mouseLook() {}
Note: See TracChangeset for help on using the changeset viewer.