Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/playability/src/world_entities/projectiles/spike_ball.h @ 10196

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

just another upload
GUI seems to work, but there are still some unexplainable segfaults

File size: 1.4 KB
Line 
1/*!
2 * @file lbolt.h
3 * @brief light blaster lbolt
4*/
5
6#ifndef _SPIKE_BALL_H
7#define _SPIKE_BALL_H
8
9#include "projectile.h"
10#include "effects/billboard.h"
11
12#include "../weapons/spike_launcher.h"
13
14
15#include "extendable.h"
16
17class Vector;
18class Weapon;
19class SpriteParticles;
20class ParticleEmitter;
21class FastFactory;
22class WeaponManager;
23
24
25class SpikeBall : public Projectile
26{
27  ObjectListDeclaration(SpikeBall);
28  public:
29    SpikeBall ();
30    virtual ~SpikeBall ();
31
32
33    virtual void activate();
34    virtual void deactivate();
35
36    virtual void collidesWith(WorldEntity* entity, const Vector& location);
37
38    virtual void destroy (WorldEntity* killer);
39
40    virtual void tick (float dt);
41    virtual void draw () const;
42
43    inline Vector getRotationVector() { return this->rotationVector; }
44    inline float getAngle() { return this->angle; }
45
46//     virtual void blow();
47
48  private:
49    static FastFactory*               fastFactory;
50
51    static SpriteParticles*           explosionParticles;
52
53    ParticleEmitter*                  emitter;
54
55    float                             speed;
56
57    float                             angle;
58    float                             rotationSpeed;
59    Vector                            rotationVector;
60
61    Billboard*                        halo;
62
63    WorldEntity* hitEntity; // FIXME TEMPORARY
64
65    WeaponManager*                   weaponMan;
66
67};
68
69#endif /* _SPIKE_BALL_H */
Note: See TracBrowser for help on using the repository browser.