16 #include <soundSys/soundMapper.h>
18 #include <vl/detonateInter.h>
19 #include <vl/fireInter.h>
25 class DtReflectedEntity;
46 const char* mtlFilename );
57 DtSoundMapper* soundMapper );
68 virtual void tick( DtConstVector viewPosition,
69 DtConstVector viewVelocity,
const DtTaitBryan &viewAngle );
75 virtual void mapEntitySound(
const DtEntityType& entity,
76 const std::string filename);
80 virtual void removeEntitySoundMap(
const DtEntityType& entity);
88 virtual void mapFireSound(
const DtEntityType& entity,
89 const std::string filename,
double duration = -1.0,
int channel = 0);
93 virtual void removeFireSoundMap(
const DtEntityType& entity);
102 virtual void mapDetonationSound(
const DtEntityType& entity,
103 const std::string filename,
double duration = -1.0,
int channel = 0,
109 virtual void removeDetonationSoundMap(
const DtEntityType& entity,
113 virtual void clearSoundMappings();
118 virtual void recycleSoundSources();
122 const DtSoundMapper* soundMapper()
const;
130 virtual bool initialize( DtExerciseConn* exConn,
135 virtual void registerCallbacks();
139 virtual void unregisterCallbacks();
145 static void entityAddedCb( DtReflectedEntity* entity,
void* caller );
148 static void entityRemovedCb( DtReflectedEntity* entity,
void* caller );
151 static void fireInteractionCb( DtFireInteraction* fire,
void* caller );
164 virtual void onEntityAdded( DtReflectedEntity* entity );
168 virtual void onEntityRemoved( DtReflectedEntity* entity );
172 virtual void onFireInteraction( DtFireInteraction* fire );
176 virtual void onDetonationInteraction(
183 virtual void onRecycleSoundSources();