00001
00002
00003
00004
00005
00006
00007
00008
00009 #import <Cocoa/Cocoa.h>
00010 #import "BaseClass.h"
00011 #import "Data.h"
00012 #import "SoundEffect.h"
00013 #import "LLThreadWorker.h"
00014
00015 #define SP_MAX_RANGE 10000
00016 #define SP_NORMAL_VOLUME 1.0
00017
00018 @interface SoundPlayer : BaseClass {
00019 NSMutableDictionary *soundEffects;
00020 float volumeFX;
00021 float volumeMusic;
00022 }
00023
00024
00025 - (void) subscribeToNotifications;
00026 - (void) loadSounds;
00027
00028
00029 - (void) unSubscibeToNotifications;
00030 - (void) setVolumeFx:(float)vol;
00031 - (void) setVolumeMusic:(float)vol;
00032
00033
00034 - (void) playSoundEffect:(NSString*) snd;
00035 - (void) playSoundEffect:(SoundEffect*)sound relativeToEntity:(Entity*)obj;
00036 - (void) playSoundEffect:(SoundEffect*)sound atAngle:(float)angle atDistance:(float)distance;
00037
00038
00039 - (void) handleSpeedChangeRequest:(NSNumber*)reqSpeed;
00040 - (void) handleAlertChanged:(NSNumber*)intAlert;
00041 - (void) handleCloakChanged:(NSNumber*)boolCloakOn;
00042 - (void) handleMyPhaser:(Phaser*)phaser;
00043 - (void) handleOtherPhaser:(Phaser*)phaser;
00044 - (void) handleMyTorpFired:(Torp*)torp;
00045 - (void) handleOtherTorpFired:(Torp*)torp;
00046 - (void) handleTorpExploded:(Torp*)torp;
00047 - (void) handleMyPlasmaFired:(Plasma*)plasma;
00048 - (void) handleOtherPlasmaFired:(Plasma*)plasma;
00049 - (void) handlePlasmaExploded:(Plasma*)plasma;
00050
00051 @end