"L. Spiro Engine"
|
00001 00017 #ifndef __LSS_SOUNDLISTENER_H__ 00018 #define __LSS_SOUNDLISTENER_H__ 00019 00020 #include "../LSSSoundLib.h" 00021 #include "Vector/LSMVector3.h" 00022 00023 namespace lss { 00024 00032 class CSoundListener { 00033 public : 00034 // == Various constructors. 00035 LSE_CALLCTOR CSoundListener(); 00036 LSE_CALLCTOR ~CSoundListener(); 00037 00038 00039 // == Functions. 00045 const CVector3 & LSE_CALL GetPos() const; 00046 00052 LSVOID LSE_CALL SetPos( const CVector3 &_vPos ); 00053 00059 const CVector3 & LSE_CALL GetVel() const; 00060 00066 LSVOID LSE_CALL SetVel( const CVector3 &_vVel ); 00067 00073 const CVector3 & LSE_CALL GetForward() const; 00074 00080 const CVector3 & LSE_CALL GetUp() const; 00081 00088 LSVOID LSE_CALL SetOrientation( const CVector3 &_vFor, const CVector3 &_vUp ); 00089 00095 LSSREAL LSE_CALL GetGain() const; 00096 00102 LSVOID LSE_CALL SetGain( LSSREAL _fGain ); 00103 00107 LSVOID LSE_CALL Tick(); 00108 00109 00110 protected : 00111 // == Members. 00115 CVector3 m_vPos; 00116 00120 CVector3 m_vForwardDir; 00121 00125 CVector3 m_vUpDir; 00126 00130 CVector3 m_vVel; 00131 00135 LSSREAL m_fGain; 00136 00140 LSBOOL m_bDirty; 00141 00142 00143 // == Functions. 00149 LSBOOL LSE_CALL Update(); 00150 00159 LSBOOL LSE_CALL DeviceActivated(); 00160 00166 LSVOID LSE_CALL DeviceWillClose(); 00167 00168 private : 00169 friend class CSoundManager; 00170 }; 00171 00172 } // namespace lss 00173 00174 #endif // __LSS_SOUNDLISTENER_H__