Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

bump

File size: 1.6 KB
Line 
1/*!
2 * @file spike_ball.h
3 * @brief Noxonian SpikeBall Projectile; 2 stage weapon, splits into spikes
4*/
5
6#ifndef _SPIKE_BALL_H
7#define _SPIKE_BALL_H
8
9#include "projectile_weapon.h"
10#include "spike.h"
11#include "effects/billboard.h"
12
13// #include "../weapons/spike_launcher.h"
14
15
16#include "extendable.h"
17
18class Vector;
19class ProjectileWeapon;
20class SpriteParticles;
21class ParticleEmitter;
22class FastFactory;
23
24
25class SpikeBall : public ProjectileWeapon
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  private:
47    static FastFactory*               fastFactory;
48
49    static SpriteParticles*           explosionParticles;
50
51    ParticleEmitter*                  emitter;
52
53    float                             speed;
54
55    float                             angle;
56    float                             rotationSpeed;
57    Vector                            rotationVector;
58
59    Billboard*                        halo;
60
61    WorldEntity* hitEntity; // FIXME TEMPORARY
62
63//     WeaponManager*                   weaponMan;
64
65    void updateFireDir();
66    virtual void blow();
67
68//     int           spikes;
69    Vector*       launcher;
70    float         size;
71
72};
73
74#endif /* _SPIKE_BALL_H */
Note: See TracBrowser for help on using the repository browser.