Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

clenup

File size: 1.3 KB
RevLine 
[10170]1/*!
[10252]2 * @file spike_ball.h
3 * @brief Noxonian SpikeBall Projectile; 2 stage weapon, splits into spikes
[10170]4*/
5
6#ifndef _SPIKE_BALL_H
7#define _SPIKE_BALL_H
8
[10235]9#include "projectile_weapon.h"
[10252]10#include "spike.h"
[10170]11#include "effects/billboard.h"
[10188]12
[10170]13
[10196]14#include "extendable.h"
15
[10170]16class Vector;
[10235]17class ProjectileWeapon;
[10170]18class SpriteParticles;
19class ParticleEmitter;
20class FastFactory;
21
[10188]22
[10235]23class SpikeBall : public ProjectileWeapon
[10170]24{
25  ObjectListDeclaration(SpikeBall);
26  public:
27    SpikeBall ();
28    virtual ~SpikeBall ();
29
30
31    virtual void activate();
32    virtual void deactivate();
33
34    virtual void collidesWith(WorldEntity* entity, const Vector& location);
35
36    virtual void destroy (WorldEntity* killer);
37
38    virtual void tick (float dt);
39    virtual void draw () const;
40
[10271]41    inline void setVelocity(Vector velocity) { this->velocity = velocity; }
[10260]42
[10188]43
[10170]44  private:
45    static FastFactory*               fastFactory;
46
47    static SpriteParticles*           explosionParticles;
48
49    ParticleEmitter*                  emitter;
50
[10271]51    Vector                            velocity;
[10170]52
53    Billboard*                        halo;
54
55    WorldEntity* hitEntity; // FIXME TEMPORARY
[10188]56
[10252]57    void updateFireDir();
58    virtual void blow();
59
60    Vector*       launcher;
61    float         size;
62
[10170]63};
64
65#endif /* _SPIKE_BALL_H */
Note: See TracBrowser for help on using the repository browser.