/* client/soundext.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_CLIENT_SOUNDEXT_H__ #define __INCLUDED_CLIENT_SOUNDEXT_H__ #include "core/extension.h" namespace client { /// the sound extension of an entity class SoundExt : public core::Extension { public: SoundExt(core::Entity *Entity); ~SoundExt(); virtual void frame(float elapsed); private: void clear(); /// index of the audio buffer containing the thruster sound loop size_t state_thusterloopbuffer; /// index of the audio buffer containing the impulse sound loop size_t state_impulseloopbuffer; /// index of the audio buffer containing the impulse drive start sound size_t state_impulsestartbuffer; /// index of the audio buffer containing the impulse drive stop sound size_t state_impulsestopbuffer; /// index of the audio buffer currently looping in enginesource size_t state_engineloopbuffer; /// index of the audio source used to play the engine sound loop size_t state_engineloopsource; /// index of the audio last played on the event source size_t state_engineeventbuffer; /// index of the audio source used to play engine sound events size_t state_engineeventsource; }; } //namespace client // #endif // __INCLUDED_CLIENT_CLIENTEXT_H__