Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

updated spikeball/spike combo; still need to turn a projectile into a spaceship
swarmmissile turns again, but flickers

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#include "../weapons/weapon.h"
14#include "../weapons/weapon_manager.h"
15
16class Vector;
17class Weapon;
18class SpriteParticles;
19class ParticleEmitter;
20class FastFactory;
21class WeaponManager;
22
23
24class SpikeBall : public Projectile
25{
26  ObjectListDeclaration(SpikeBall);
27  public:
28    SpikeBall ();
29    virtual ~SpikeBall ();
30
31
32    virtual void activate();
33    virtual void deactivate();
34
35    virtual void collidesWith(WorldEntity* entity, const Vector& location);
36
37    virtual void destroy (WorldEntity* killer);
38
39    virtual void tick (float dt);
40    virtual void draw () const;
41
42    inline Vector getRotationVector() { return this->rotationVector; }
43    inline float getAngle() { return this->angle; }
44
45//     virtual void blow();
46
47  private:
48    static FastFactory*               fastFactory;
49
50    static SpriteParticles*           explosionParticles;
51
52    ParticleEmitter*                  emitter;
53
54    float                             speed;
55
56    float                             angle;
57    float                             rotationSpeed;
58    Vector                            rotationVector;
59
60    Billboard*                        halo;
61
62    WorldEntity* hitEntity; // FIXME TEMPORARY
63
64//     WeaponManager                     weaponMan;
65
66};
67
68#endif /* _SPIKE_BALL_H */
Note: See TracBrowser for help on using the repository browser.