Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 7021


Ignore:
Timestamp:
May 30, 2010, 3:57:05 PM (14 years ago)
Author:
gnadler
Message:

documentation & formatting commit

Location:
code/branches/presentation3/src/modules/weapons
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • code/branches/presentation3/src/modules/weapons/RocketController.cc

    r7018 r7021  
    5050        this->rocket_->setController(this);
    5151        this->setControllableEntity(dynamic_cast<ControllableEntity*> (this->rocket_));
    52         this->counter_=0;
    5352    }
    5453
     
    6261    void RocketController::tick(float dt)
    6362    {
    64         counter_++;
    6563
    6664        if (this->target_ && this->rocket_->hasFuel()) {
     
    9997        if (!this->getControllableEntity())
    10098            return;
    101         Vector2 coord = get2DViewdirection(this->getControllableEntity()->getPosition(), this->getControllableEntity()->getOrientation() * WorldEntity::FRONT, this->getControllableEntity()->getOrientation() * WorldEntity::UP, target);
    102         float distance = (target - this->getControllableEntity()->getWorldPosition()).length();
     99
     100        Vector2 coord = get2DViewdirection(this->rocket_->getPosition(), this->rocket_->getOrientation() * WorldEntity::FRONT, this->rocket_->getOrientation() * WorldEntity::UP, target);
     101        float distance = (target - this->rocket_->getWorldPosition()).length();
    103102
    104103
    105         if (distance > 1000&&this->getControllableEntity()->getVelocity().squaredLength()<160000)
    106             this->getControllableEntity()->setAcceleration(this->rocket_->getOrientation()*Vector3(-20,-20,-20));
     104        if (distance > 1000 && this->rocket_->getVelocity().squaredLength()<160000)
     105            this->rocket_->setAcceleration(this->rocket_->getOrientation()*Vector3(-20,-20,-20));
    107106        if (distance <1000) this->rocket_->setAcceleration(0,0,0);
    108        
    109         this->getControllableEntity()->rotateYaw(-sgn(coord.x)*coord.x*coord.x);
    110         this->getControllableEntity()->rotatePitch(sgn(coord.y)*coord.y*coord.y);
     107
     108        this->rocket_->rotateYaw(-sgn(coord.x)*coord.x*coord.x);
     109        this->rocket_->rotatePitch(sgn(coord.y)*coord.y*coord.y);
    111110    }
    112111
  • code/branches/presentation3/src/modules/weapons/RocketController.h

    r7018 r7021  
    5252           
    5353            virtual void tick(float dt);
    54                         SimpleRocket* getRocket(){return this->rocket_;};
     54                        SimpleRocket* getRocket() const
     55             {  return this->rocket_;  };
    5556                        void setTarget(WorldEntity* target);
    5657        protected:
     
    6061
    6162        private:
    62                         SimpleRocket* rocket_;
     63                        SimpleRocket* rocket_; //!<The Rocket it controlls
    6364                        Vector3 targetPosition_;
    6465                        WeakPtr<PlayerInfo> player_;
    6566                                               
    6667                        WeakPtr<WorldEntity> target_;
    67             int counter_;
    6868
    6969
  • code/branches/presentation3/src/modules/weapons/projectiles/SimpleRocket.cc

    r7019 r7021  
    4545namespace orxonox
    4646{
     47        /**
     48    @file
     49    @brief
     50        SimpleRocket, follows direction from a Rocketcontroller, has fuel for 80% of its lifetime, afterwords it's fire disappears.
     51    @author
     52       Gabriel Nadler (Original file: Oli Scheuss)
     53    */
    4754    CreateFactory(SimpleRocket);
    48     // create the factory for the SimpleRocket
    49 
    50     /**
    51     @brief
    52         Constructor. Registers the object and initializes some default values.
    53     */
     55
     56
    5457    SimpleRocket::SimpleRocket(BaseObject* creator) : ControllableEntity(creator)
    5558    {
     
    5962        this->bDestroy_ = false;
    6063        this->lifetime_ = 120;
     64
    6165        this->setMass(15);
    6266        COUT(4) << "simplerocket constructed\n";
    63         this->maxLife_=90;
    6467
    6568        if (GameMode::isMaster())
     
    9295
    9396    }
    94    
    95 
    96 
    97 
     97
     98
     99   
     100    /**
     101    * @brief updates state of rocket, disables fire if no fuel
     102    * @param dt tick-length
     103    */
    98104    void SimpleRocket::tick(float dt)
    99105    {
     
    102108        if ( GameMode::isMaster() )
    103109        {
    104             if (this->getVelocity().squaredLength() >130000)
    105                 this->maxLife_-=dt; //if Velocity bigger than about 360, uses a lot more "fuel" :)
    106            
     110
    107111
    108112            this->setAngularVelocity(this->getOrientation() * this->localAngularVelocity_);
     
    110114            this->localAngularVelocity_ = 0;
    111115
    112            
     116       
    113117            if (this->fuel_)
    114118            {
    115                 if (this->destroyTimer_.getRemainingTime()<  this->lifetime_-this->maxLife_ )
     119                if (this->destroyTimer_.getRemainingTime()<  (static_cast<float>(this->FUEL_PERCENTAGE)/100) *this->lifetime_ )
    116120                    this->fuel_=false;
    117             }
    118             else
     121            } else
    119122                this->disableFire();
    120123
    121             if( this->bDestroy_ )
     124            if( this->bDestroy_ ) 
    122125                this->destroy();
    123126        }
     
    125128    }
    126129
     130    /**
     131    * @brief Sets the Acceleration to 0 and detaches the fire
     132    * @return void
     133    */
    127134    void SimpleRocket::disableFire()
    128135    {
    129         this->setAcceleration(0,0,0);
    130         this->fire_->destroy();
    131         this->fire_ = 0;
    132 //         this->fire_->detachFromParent();
     136        this->setAcceleration(0,0,0);       
     137        this->fire_->detachFromParent();
    133138    }
    134139
     
    144149            {
    145150                this->getController()->destroy();
    146                 COUT(4)<< "simplerocket destroyed\n";
    147151            }
    148152        }
     
    162166    {
    163167        this->owner_ = owner;
    164         //this->originalControllableEntity_ = this->owner_->getPlayer()->getControllableEntity();
    165168        this->player_ = this->owner_->getPlayer();
    166169    }
     170
    167171
    168172
  • code/branches/presentation3/src/modules/weapons/projectiles/SimpleRocket.h

    r7019 r7021  
    2727 */
    2828
     29    /**
     30    @file
     31    @brief
     32        SimpleRocket, follows direction from a Rocketcontroller, has fuel for 80% of its lifetime, afterwords it's fire disappears.
     33    @author
     34       Gabriel Nadler (Original file: Oli Scheuss)
     35    */
     36
     37
     38
    2939#ifndef _SimpleRocket_H__
    3040#define _SimpleRocket_H__
     
    4050    class ConeCollisionShape;
    4151
    42     /**
    43     @brief
    44         SimpleRocket, that is made to move upon a specified pattern.
    45         This class was constructed for the PPS tutorial.
    46     @author
    47         Oli Scheuss
    48     */
     52
    4953    class _WeaponsExport SimpleRocket : public ControllableEntity
    5054    {
     
    5862            void destroyObject();
    5963
    60             void disableFire();
     64            void disableFire(); //!< Method to disable the fire and stop all acceleration
    6165
    6266            virtual void moveFrontBack(const Vector2& value){}
     
    112116            inline Pawn* getOwner() const
    113117                { return this->owner_; }
    114             inline bool hasFuel()
    115             { return this->fuel_;}
    116 
    117             inline void fuelRefill()
    118             {this->fuel_=true;}
     118            inline bool hasFuel() const
     119            { return this->fuel_; }
    119120
    120121            inline void setDamage(float damage)
     
    128129            Vector3 localAngularVelocity_;
    129130            float damage_;
    130             bool bDestroy_;
    131             bool fuel_;
     131            bool bDestroy_; 
     132            bool fuel_; //!< Bool is true while the rocket "has fuel"
    132133
    133134
     
    135136            Timer destroyTimer_;
    136137            float lifetime_;
    137             float maxLife_;
     138            static const int FUEL_PERCENTAGE=80; //!<Percentage of Lifetime the rocket has fuel
    138139
    139             ParticleEmitter* fire_;
     140            ParticleEmitter* fire_; //!< Fire-Emittor
    140141
    141142
  • code/branches/presentation3/src/modules/weapons/weaponmodes/SimpleRocketFire.cc

    r7019 r7021  
    4040namespace orxonox
    4141{
     42       /**
     43    @file
     44    @brief
     45        FireMode for target-seeking Rocket
     46        @author
     47        Gabriel Nadler (Original file: Oli Scheuss)
     48        */
    4249    CreateFactory(SimpleRocketFire);
    4350
Note: See TracChangeset for help on using the changeset viewer.