00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __SOUNDLISTENERCOMPONENT_H__
00017 #define __SOUNDLISTENERCOMPONENT_H__
00018
00019
00020 #include "../../dependencies.h"
00021 #ifdef __COMPILE_WITH_SFML_AUDIO__
00022 #include "../../core/EntityComponent.h"
00023
00024
00025
00034 class SoundListenerComponent : public EntityComponent
00035 {
00036 public:
00037
00038
00042 SoundListenerComponent(Entity *parent, bool isMainListener = true);
00044 ~SoundListenerComponent();
00045
00046
00048 bool getIsMainListener() const;
00049
00058 void setIsMainListener(bool value = true);
00059
00060
00063 void onPositionChange(void *p);
00066 void onRotationChange(void *p);
00069 void onPause(void *p);
00072 void onUnPause(void *p);
00073
00074
00077 static bool parseXML(IXMLReader *file, Entity *entity);
00078
00079 private:
00080
00081
00082 static SoundListenerComponent *mMainListener;
00083
00084
00085 vector3df mPosition;
00086 vector3df mRotation;
00087
00088 bool mIsMainListener;
00089 bool mWasMainListener;
00090 };
00091
00092 #endif // __COMPILE_WITH_SFML_AUDIO__
00093
00094 #endif