Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 10261 was 10260, checked in by nicolasc, 17 years ago
File size: 1.7 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
[10235]13// #include "../weapons/spike_launcher.h"
[10170]14
[10196]15
16#include "extendable.h"
17
[10170]18class Vector;
[10235]19class ProjectileWeapon;
[10170]20class SpriteParticles;
21class ParticleEmitter;
22class FastFactory;
23
[10188]24
[10235]25class SpikeBall : public ProjectileWeapon
[10170]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
[10260]43//     inline void setVelocity(Vector velocity) { this->velocity = velocity; }
44
[10252]45//     inline Vector getRotationVector() { return this->rotationVector; }
46//     inline float getAngle() { return this->angle; }
[10188]47
[10170]48  private:
49    static FastFactory*               fastFactory;
50
51    static SpriteParticles*           explosionParticles;
52
53    ParticleEmitter*                  emitter;
54
[10256]55//     float                             speed;
[10170]56
[10256]57//     float                             angle;
58//     float                             rotationSpeed;
59//     Vector                            rotationVector;
[10170]60
61    Billboard*                        halo;
62
63    WorldEntity* hitEntity; // FIXME TEMPORARY
[10188]64
[10252]65//     WeaponManager*                   weaponMan;
66
67    void updateFireDir();
68    virtual void blow();
69
70//     int           spikes;
71    Vector*       launcher;
72    float         size;
73
[10170]74};
75
76#endif /* _SPIKE_BALL_H */
Note: See TracBrowser for help on using the repository browser.