Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/world_entities/weapons/laser.h @ 6056

Last change on this file since 6056 was 6056, checked in by bensch, 18 years ago

orxonox/trunk: more small optimisations, and a convenience inline-tick-life-cycle functions for projectiles

File size: 798 bytes
RevLine 
[4890]1/*!
[5456]2 * @file laser.h
3 * @brief a projectile, that is been shooted by a weapon
[3708]4*/
5
[5456]6#ifndef _LASER_H
7#define _LASER_H
[3708]8
[3710]9#include "projectile.h"
[3708]10
11class Vector;
12class Weapon;
[5443]13class ParticleSystem;
14class ParticleEmitter;
[5447]15class FastFactory;
[3708]16
[5456]17class Laser : public Projectile
[3708]18{
[5443]19  public:
[5456]20    Laser ();
21    virtual ~Laser ();
[3708]22
23
[5443]24    virtual void activate();
25    virtual void deactivate();
[4890]26
[5443]27    virtual void collidesWith(WorldEntity* entity, const Vector& location);
28
29    virtual void destroy ();
30
[6056]31    virtual void tick (float dt);
[5500]32    virtual void draw () const;
[5443]33
34
35  private:
[5447]36    static FastFactory*               fastFactory;
[5456]37
[5447]38    static ParticleSystem*            explosionParticles;
[5443]39
[5447]40    ParticleEmitter*                  emitter;
41
42
43    WorldEntity* hitEntity; // FIXME TEMPORARY
[3708]44};
45
[5456]46#endif /* _LASER_H */
Note: See TracBrowser for help on using the repository browser.