38 lines
1.4 KiB
C++
38 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include "Util/String.h"
|
|
|
|
|
|
class ISoundSystem
|
|
{
|
|
public:
|
|
typedef unsigned int Handle;
|
|
|
|
static const Handle InvalidHandle = (Handle)-1;
|
|
|
|
virtual ~ISoundSystem( ) { }
|
|
|
|
virtual void SetDataPath( const Util::String& path ) = 0;
|
|
|
|
virtual void LoadBank( const Util::String& bank ) = 0;
|
|
virtual void UnloadBank( const Util::String& bank ) = 0;
|
|
|
|
virtual Handle CreateInstance( ) = 0;
|
|
virtual bool DestroyInstance( Handle instance ) = 0;
|
|
|
|
virtual Handle RegisterEvent( Handle instance, const Util::String& id ) = 0;
|
|
virtual bool UnregisterEvent( Handle instance, Handle evnt ) = 0;
|
|
|
|
virtual bool SetEventPosition( Handle instance, Handle evnt, float x, float y, float z ) = 0;
|
|
virtual bool SetEventVelocity( Handle instance, Handle evnt, float x, float y, float z ) = 0;
|
|
virtual bool SetEventDirection( Handle instance, Handle evnt, float x, float y, float z ) = 0;
|
|
virtual bool SetEventUp( Handle instance, Handle evnt, float x, float y, float z ) = 0;
|
|
|
|
virtual bool PlayEvent( Handle instance, Handle evnt ) = 0;
|
|
|
|
virtual bool SetParameter( Handle instance, int index, float value ) = 0;
|
|
|
|
virtual bool SetEventParameter( Handle instance, Handle evnt, int index, float value ) = 0;
|
|
|
|
virtual void Tick( ) = 0;
|
|
};
|