Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Mar 24, 2016, 3:56:35 PM (8 years ago)
Author:
sagerj
Message:

added release functions in various classes: weaponmode, weaponsystem, humancontroller, newhumancontroller, discharger

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

Legend:

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

    r11071 r11153  
    4242    extern const std::string __CC_fire_name = "fire";
    4343    extern const std::string __CC_suicide_name = "suicide";
     44    extern const std::string __CC_release_name = "release";
    4445
    4546    SetConsoleCommand("HumanController", "moveFrontBack",          &HumanController::moveFrontBack ).addShortcut().setAsInputCommand();
     
    5253    SetConsoleCommand("HumanController", "FFChangeMode",           &HumanController::FFChangeMode).addShortcut().keybindMode(KeybindMode::OnPress);
    5354    SetConsoleCommand("HumanController", __CC_fire_name,           &HumanController::fire          ).addShortcut().keybindMode(KeybindMode::OnHold);
     55    SetConsoleCommand("HumanController", __CC_release_name,        &HumanController::release       ).addShortcut().keybindMode(KeybindMode::OnRelease);
    5456    SetConsoleCommand("HumanController", "reload",                 &HumanController::reload        ).addShortcut();
    5557    SetConsoleCommand("HumanController", "boost",                  &HumanController::boost         ).addShortcut().setAsInputCommand().keybindMode(KeybindMode::OnPressAndRelease);
     
    167169            HumanController::localController_s->controllableEntity_->fire(firemode);
    168170            //if human fires, set slaves free. See FormationController::forceFreeSlaves()
     171            if (HumanController::localController_s->state_==MASTER && HumanController::localController_s->formationMode_ == NORMAL)
     172            {
     173                HumanController::localController_s->forceFreeSlaves();
     174            }
     175        }
     176    }
     177
     178    void HumanController::release(unsigned int firemode)
     179    {
     180        if (HumanController::localController_s)
     181            HumanController::localController_s->doRelease(firemode);
     182    }
     183
     184    void HumanController::doRelease(unsigned int firemode)
     185    {
     186        if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
     187        {
     188            HumanController::localController_s->controllableEntity_->release(firemode);
     189            //if human releases, set slaves free. See FormationController::forceFreeSlaves()
    169190            if (HumanController::localController_s->state_==MASTER && HumanController::localController_s->formationMode_ == NORMAL)
    170191            {
  • code/branches/sagerjFS16/src/orxonox/controllers/HumanController.h

    r11071 r11153  
    6464            virtual void doFire(unsigned int firemode);
    6565            static void reload();
     66            static void release(unsigned int firemode);
     67            virtual void doRelease(unsigned int firemode);
    6668
    6769            static void boost(const Vector2& value); // Static method, controls boosting.
  • code/branches/sagerjFS16/src/orxonox/controllers/NewHumanController.cc

    r11142 r11153  
    5454    SetConsoleCommand("NewHumanController", "accelerate", &NewHumanController::accelerate).keybindMode(KeybindMode::OnPress);
    5555    SetConsoleCommand("NewHumanController", "decelerate", &NewHumanController::decelerate).keybindMode(KeybindMode::OnPress);
    56     SetConsoleCommand("NewHumanController", "unfire",     &NewHumanController::unfire    ).keybindMode(KeybindMode::OnRelease).addShortcut();
     56    SetConsoleCommand("NewHumanController", "release",    &NewHumanController::release    ).keybindMode(KeybindMode::OnRelease).addShortcut();
    5757
    5858    RegisterUnloadableClass(NewHumanController);
     
    344344    }
    345345
    346     void NewHumanController::unfire()
     346    void NewHumanController::release(unsigned int firemode)
    347347    {
    348348        if (NewHumanController::localController_s)
    349             NewHumanController::localController_s->doUnfire();
    350         orxout() << "unfire" << endl;
    351     }
    352 
    353     void NewHumanController::doUnfire()
    354     {
    355         this->firemode_ = -1;
    356         hideArrows();
     349            NewHumanController::localController_s->doRelease();
     350        orxout() << "Trigger" << endl;
     351    }
     352
     353    void NewHumanController::doRelease(unsigned int firemode)
     354    {
     355        // this->firemode_ = -1; (outdated code from unfire)
     356        // hideArrows();
     357        if (!this->controllableEntity_)
     358            return;
     359
     360        this->firemode_ = firemode;
     361
     362        HumanController::doRelease(firemode); //call for formationflight
    357363    }
    358364
  • code/branches/sagerjFS16/src/orxonox/controllers/NewHumanController.h

    r11071 r11153  
    5858            virtual void hit(Pawn* originator, btManifoldPoint& contactpoint, float damage) override;
    5959
    60             static void unfire();
    61             virtual void doUnfire();
     60            static void release(unsigned int firemode);
     61            virtual void doRelease(unsigned int firemode);
    6262
    6363            void centerCursor();
  • code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.cc

    r11108 r11153  
    169169    }
    170170
     171    void WeaponMode::release()
     172
    171173    bool WeaponMode::reload()
    172174    {
  • code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponSystem.cc

    r11099 r11153  
    294294    }
    295295
     296    void WeaponSystem::release(unsigned int firemode)
     297    {
     298        std::map<unsigned int, WeaponSet *>::iterator it = this->weaponSets_.find(firemode);
     299        if (it != this->weaponSets_.end() && it->second)
     300            it->second->release();
     301    }
     302
    296303    void WeaponSystem::reload()
    297304    {
  • code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponSystem.h

    r11071 r11153  
    7676            void fire(unsigned int firemode);
    7777            void reload();
     78            void release(unsigned int firemode);
    7879
    7980            Munition * getMunition(SubclassIdentifier<Munition> * identifier);
Note: See TracChangeset for help on using the changeset viewer.