65 virtual void clearMaps();
69 virtual void setAudioEnabled(
bool val );
74 virtual bool audioEnabled()
const;
78 virtual void setVolume(
double val );
82 virtual double volume()
const;
86 virtual void setSoundRangeEnabled(
bool val );
91 virtual bool soundRangeEnabled()
const;
95 virtual void setSoundRange(
double val );
99 virtual double soundRange()
const;
103 virtual unsigned int entityMapSize()
const;
107 virtual unsigned int weaponFireMapSize()
const;
111 virtual unsigned int detonationMapSize()
const;
121 virtual EntityMapRecordList::iterator
128 virtual EntityMapRecordList::const_iterator
136 entityMapAt(
unsigned int index )
const;
152 virtual FireMapRecordList::iterator
159 virtual FireMapRecordList::const_iterator
167 weaponFireMapAt(
unsigned int index )
const;
183 virtual DetonationMapRecordList::iterator
190 virtual DetonationMapRecordList::const_iterator
198 detonationMapAt(
unsigned int index )
const;
237 virtual void setFilename(
const std::string& mtlFile );
242 virtual const std::string& filename()
const;
246 friend class boost::serialization::access;
252 template<
class Archive>
253 void serialize( Archive& ar,
const unsigned int version )
257 myAudioOn = myAudioEnabled;
258 ar & BOOST_SERIALIZATION_NVP( myVolume );
259 ar & BOOST_SERIALIZATION_NVP( mySoundRange );
260 ar & BOOST_SERIALIZATION_NVP( myAudioOn );
261 ar & BOOST_SERIALIZATION_NVP( mySoundRangeEnabled );
262 ar & BOOST_SERIALIZATION_NVP( myFilename );
263 myAudioEnabled = myAudioOn;
267 ar & BOOST_SERIALIZATION_NVP( myVolume );
268 ar & BOOST_SERIALIZATION_NVP( mySoundRange );
269 ar & BOOST_SERIALIZATION_NVP( myAudioEnabled );
270 ar & BOOST_SERIALIZATION_NVP( mySoundRangeEnabled );
271 ar & BOOST_SERIALIZATION_NVP( myEntitySounds );
272 ar & BOOST_SERIALIZATION_NVP( myWeaponFireSounds );
273 ar & BOOST_SERIALIZATION_NVP( myDetonationSounds );
282 template<
typename MapType>
283 typename MapType::iterator
286 typename MapType::iterator iter( sndMap.begin() );
287 typename MapType::iterator endr( sndMap.end() );
288 for( ; iter != endr; ++iter )
290 if ( ( *iter ) == record )
303 template<
typename MapType>
304 typename MapType::const_iterator
307 typename MapType::const_iterator iter( sndMap.begin() );
308 typename MapType::const_iterator endr( sndMap.end() );
309 for( ; iter != endr; ++iter )
311 if ( ( *iter ) == record )
324 template<
typename RecType,
typename MapType>
325 const RecType& at(
unsigned int index, MapType& sndMap )
const
327 return sndMap.at( index );
334 template<
typename RecType,
typename MapType>
335 unsigned int index(
const RecType& record, MapType& sndMap )
const
337 return static_cast<unsigned int>
338 (
std::distance( sndMap.begin(), mapFind( record, sndMap ) ) );
343 template<
typename MapType>
344 void clearMap( MapType& sndMap )