Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 9, 2015, 5:55:42 PM (9 years ago)
Author:
fvultier
Message:

Munition may and must now be defined for each pawn separately. This way a heavy cruiser may carry more munition than a drone.

Location:
code/branches/fabienHS15/src/orxonox/worldentities/pawns
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • code/branches/fabienHS15/src/orxonox/worldentities/pawns/Pawn.cc

    r10746 r10791  
    4646#include "weaponsystem/WeaponPack.h"
    4747#include "weaponsystem/WeaponSet.h"
     48#include "weaponsystem/Munition.h"
    4849#include "sound/WorldSound.h"
    4950
     
    139140        XMLPortObject(Pawn, WeaponSlot, "weaponslots", addWeaponSlot, getWeaponSlot, xmlelement, mode);
    140141        XMLPortObject(Pawn, WeaponSet, "weaponsets", addWeaponSet, getWeaponSet, xmlelement, mode);
    141         XMLPortObject(Pawn, WeaponPack, "weapons", addWeaponPackXML, getWeaponPack, xmlelement, mode);
     142        XMLPortObject(Pawn, WeaponPack, "weaponpacks", addWeaponPackXML, getWeaponPack, xmlelement, mode);
     143        XMLPortObject(Pawn, Munition, "munition", addMunitionXML, getMunitionXML, xmlelement, mode);
    142144
    143145        XMLPortParam(Pawn, "reloadrate", setShieldRechargeRate, getShieldRechargeRate, xmlelement, mode).defaultValues(0);
     
    557559    }
    558560
     561    void Pawn::addMunitionXML(Munition* munition)
     562    {
     563        if (this->weaponSystem_ && munition)
     564        {
     565            this->weaponSystem_->addMunition(munition);
     566        }
     567    }
     568
     569    Munition* Pawn::getMunitionXML() const
     570    {
     571        return NULL;
     572    }
     573
    559574    Munition* Pawn::getMunition(SubclassIdentifier<Munition> * identifier)
    560575    {
     
    570585    void Pawn::startLocalHumanControl()
    571586    {
    572 //        SUPER(ControllableEntity, changedPlayer());
     587//        SUPER(ControllableEntity, startLocalHumanControl());
    573588        ControllableEntity::startLocalHumanControl();
    574589        this->isHumanShip_ = true;
  • code/branches/fabienHS15/src/orxonox/worldentities/pawns/Pawn.h

    r10746 r10791  
    151151            WeaponPack * getWeaponPack(unsigned int index) const;
    152152            std::vector<WeaponPack *> * getAllWeaponPacks();
     153
     154            void addMunitionXML(Munition* munition);
     155            Munition* getMunitionXML() const;
    153156           
    154             Munition * getMunition(SubclassIdentifier<Munition> * identifier);
     157            Munition* getMunition(SubclassIdentifier<Munition> * identifier);
    155158
    156159            virtual void addedWeaponPack(WeaponPack* wPack) {}
  • code/branches/fabienHS15/src/orxonox/worldentities/pawns/SpaceShip.h

    r10746 r10791  
    5454        - The <b>boost shaking</b>, when the SpaceShip boosts, the camera shakes to create a more immersive effect. Two parameters can be used to adjust the effect. The <b>shakeFrequency</b> is the frequency with which the camera shakes. And the <b>shakeAmplitude</b> is the amount with which the camera shakes. Again these parameters must bee non-negative.
    5555        - The <b>lift</b> creates a more natural flight feeling through the addition of a lift force. There are again two parameters that can be specified. The <b>lift</b> which is the lift force that is applied. And the <b>stallSpeed</b> which is the forward speed after which no more lift is generated.
     56
     57        A spaceship always needs to have the collision type "dynamic". Other collision types are illegal.
    5658
    5759        As mentioned @ref orxonox::Engine Engines can be mounted on the SpaceShip. Here is a (primitive) example of a SpaceShip defined in XML:
Note: See TracChangeset for help on using the changeset viewer.