Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/playability/src/world_entities/projectiles/swarm_projectile.h @ 10080

Last change on this file since 10080 was 10080, checked in by nicolasc, 17 years ago

Working SwarmMissile guidance system
CD/CR needs update

File size: 1.5 KB
Line 
1/*!
2 * @file swarm_projectile.h
3 * @brief a SwarmProjectile Projectile
4*/
5
6#ifndef _SWARM_PROJECTILE_H
7#define _SWARM_PROJECTILE_H
8
9#include "projectile.h"
10
11class Weapon;
12class SpriteParticles;
13class ParticleEmitter;
14class FastFactory;
15class Aim;
16
17class SwarmProjectile : public Projectile
18{
19  ObjectListDeclaration(SwarmProjectile);
20  public:
21    SwarmProjectile ();
22    virtual ~SwarmProjectile ();
23
24    virtual void activate();
25    virtual void deactivate();
26
27    virtual void collidesWith(WorldEntity* entity, const Vector& location);
28
29    virtual void destroy (WorldEntity* killer);
30
31    virtual void tick (float time);
32    virtual void draw () const;
33
34    void setTarget(PNode* target);
35
36  private:
37    static FastFactory*               fastFactory;
38    static SpriteParticles*           trailParticles;
39    static SpriteParticles*           explosionParticles;
40
41    ParticleEmitter*                  emitter;
42    float                             agility;
43    float                             maxVelocity;
44    float                             speed;
45    Vector                            diffVector ;
46    Vector                            correctionVector;
47
48    WorldEntity* hitEntity; // FIXME TEMPORARY
49
50    Vector newDirection(Vector curDirection, Vector estTargetDir, float angle);
51
52    // spinning missle
53    void updateAngle(float time);
54    float                             rotationSpeed;
55    float                             angle;
56};
57
58#endif /* _SWARM_PROJECTILE_H */
Note: See TracBrowser for help on using the repository browser.