Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/presentation/src/world_entities/effects/explosion.h @ 10746

Last change on this file since 10746 was 10724, checked in by snellen, 17 years ago

explosions now have sound

File size: 1.3 KB
Line 
1/*!
2 * @file explosion.h
3 * @brief a Explosion Projectile
4*/
5
6#ifndef _EXPLOSION_H
7#define _EXPLOSION_H
8
9#include "world_entity.h"
10#include "sound_source.h"
11#include "sound_buffer.h"
12#include "sound/resource_sound_buffer.h"
13
14class SpriteParticles;
15class BoxEmitter;
16class FastFactory;
17
18class Explosion : public WorldEntity
19{
20  ObjectListDeclaration(Explosion);
21  public:
22    static void explode (PNode* position, const Vector& size);
23    void explode (float x, float y, float z); /// Explode at the current position with size (x,y,z)
24    void setExplosionSound(const std::string& newExplosionSound){  this->explosionSoundBuffer = OrxSound::ResourceSoundBuffer(newExplosionSound);  }
25    void playSound();
26   
27    Explosion ();
28    virtual ~Explosion ();
29
30    virtual void activate();
31    virtual void deactivate();
32
33    virtual void tick (float time);
34
35    void setLifeTime( float lifeTime ){ this->lifeTime = lifeTime; }
36
37  protected:
38    static FastFactory*        fastFactory;
39
40    float                      lifeTime;
41    float                      lifeCycle;
42
43    static SpriteParticles*    explosionParticles;
44    BoxEmitter*                emitter;
45   
46    OrxSound::SoundSource      explosionSound;
47    OrxSound::SoundBuffer      explosionSoundBuffer;
48};
49
50#endif /* _EXPLOSION_H */
Note: See TracBrowser for help on using the repository browser.