JD2022-TU1/main/extern/Soundwich/Solution/Engine/Src/ISoundSystem.h

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;
};