28 #ifndef HPL_SOUND_ENTITY_H 29 #define HPL_SOUND_ENTITY_H 31 #include "hpl1/engine/scene/Entity3D.h" 32 #include "hpl1/engine/sound/SoundChannel.h" 37 class cSoundEntityData;
38 class cSoundEntityManager;
42 enum eSoundEntityType {
43 eSoundEntityType_Main,
44 eSoundEntityType_Start,
45 eSoundEntityType_Stop,
46 eSoundEntityType_LastEnum
54 void OnPriorityRelease();
64 bool mbRemoveWhenOver;
70 virtual int GetSaveCreatePrio();
91 static void initGlobalCallbackList();
92 static void finalizeGlobalCallbackList();
100 void Play(
bool abPlayStart =
true);
101 void Stop(
bool abPlayEnd =
true);
103 void FadeIn(
float afSpeed);
104 void FadeOut(
float afSpeed);
108 float getFadingSpeed() {
return _fadeSpeed; }
109 bool GetRemoveWhenOver();
111 void SetVolume(
float afX) { mfVolume = afX; }
112 float GetVolume() {
return mfVolume; }
114 iSoundChannel *GetSound(eSoundEntityType aType) {
return mvSounds[aType]; }
115 cSoundEntry *GetSoundEntry(eSoundEntityType aType);
118 void UpdateLogic(
float afTimeStep);
120 tString GetEntityType() {
return "SoundEntity"; }
129 virtual void SaveToSaveData(
iSaveData *apSaveData);
130 virtual void LoadFromSaveData(
iSaveData *apSaveData);
134 bool PlaySound(
const tString &asName,
bool abLoop, eSoundEntityType aType);
136 float GetListenerSqrLength();
148 bool mbRemoveWhenOver;
152 float mfIntervalCount;
172 static tSoundEntityGlobalCallbackList *mlstGlobalCallbacks;
177 #endif // HPL_SOUND_ENTITY_H
Definition: SoundEntity.h:51
Definition: SoundEntityData.h:36
Definition: SoundChannel.h:38
Definition: SoundEntityManager.h:39
Definition: SoundHandler.h:71
Definition: SaveGame.h:130
Definition: SoundEntity.h:75
Definition: World3D.h:179
Definition: SaveGame.h:111
Definition: SoundHandler.h:122
Definition: SoundChannel.h:46
Definition: Entity3D.h:81
Definition: list_intern.h:51
Definition: SoundEntity.h:86
Definition: SaveGame.h:183