Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 29, 2015, 9:05:26 PM (10 years ago)
Author:
fvultier
Message:

promised wor for Jannis.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/particleEffectsHS15/src/modules/weapons/projectiles/MineProjectile.h

    r10836 r10889  
    2828
    2929/**
    30     @file IceGunProjectile.h
     30    @file MineProjectile.h
    3131    @brief Definition of the MineProjectile class.
    3232*/
     
    3636
    3737#include "weapons/WeaponsPrereqs.h"
    38 
    39 #include <string>
    4038#include "tools/Timer.h"
    41 #include "Projectile.h"
     39#include "worldentities/MovableEntity.h"
     40#include "objects/collisionshapes/SphereCollisionShape.h"
     41#include "objects/triggers/DistanceTrigger.h"
     42#include "BasicProjectile.h"
    4243
    4344namespace orxonox
     
    4647    /**
    4748    @brief
    48         The MineProjectile is a projectile that may Mine up into many child projectiles.
    49     @author
    50         Fabien Vultier
     49        TODO
    5150    @ingroup WeaponsProjectiles
    5251    */
    53     class _WeaponsExport MineProjectile : public Projectile
     52    class _WeaponsExport MineProjectile : public MovableEntity, public BasicProjectile
    5453    {
    5554        public:
    5655            MineProjectile(Context* context);
    57             virtual ~MineProjectile() {}
     56            virtual ~MineProjectile();
    5857
    59             virtual void setLifeTime(float LifeTime);
    60            
     58            virtual void setMaxTimeUntilExplosion(float maxTimeUntilExplosion);
     59            virtual void setTimeUntilActivation(float timeUntilActivation);
    6160
     61        private:
     62            bool bActive_; // The mine can only explode if it is active
     63            float maxTimeUntilExplosion_;
     64            float timeUntilActivation_;
     65            Timer activationTimer_;
     66            Timer explodeTimer_;
     67            Model* modelCore_;
     68            Model* modelRing1_;
     69            Model* modelRing2_;
     70            MovableEntity* rings_;
    6271
    63         private:           
    64             float lifeTime_;
    65             Timer explodeTimer;
     72            WeakPtr<SphereCollisionShape> collisionShape_; // The collision shape of the projectile.
     73            WeakPtr<DistanceTrigger> distanceTrigger_;
    6674
    67             virtual void Explode();           
     75            virtual void Activate();
     76            virtual void Explode();
    6877    };
    6978}
Note: See TracChangeset for help on using the changeset viewer.