Wwise 버전

include/AK/SoundFrame/SFObjects.h

Go to the documentation of this file.
00001 
00002 //
00003 // Copyright (c) 2006 Audiokinetic Inc. / All Rights Reserved
00004 //
00006 
00010 
00011 #ifndef _AK_SOUNDFRAME_OBJECT_SF_H
00012 #define _AK_SOUNDFRAME_OBJECT_SF_H
00013 
00014 #include <wtypes.h>
00015 
00016 #include <AK/SoundEngine/Common/AkTypes.h>
00017 
00018 namespace AK
00019 {
00020     class IReadBytes;
00021     class IWriteBytes;
00022 
00023     namespace SoundFrame
00024     {
00025         class IActionList;
00026         class IStateList;
00027         class ISwitchList;
00028         class IArgumentList;
00029         class IArgumentValueList;
00030 
00032         class ISFRefCount
00033         {
00034         public:
00037             virtual long AddRef() = 0;
00038 
00041             virtual long Release() = 0;
00042         };
00043 
00045         class ISFObject : public ISFRefCount
00046         {
00047         public:
00054             virtual const WCHAR * GetName() const = 0;
00055 
00058             virtual AkUniqueID GetID() const = 0;
00059 
00062             virtual GUID GetGUID() const = 0;
00063         };
00064 
00066         class IObjectList : public ISFRefCount
00067         {
00068         public:
00071             virtual long GetCount() const = 0;
00072 
00074             virtual void Reset() = 0;
00075         };
00076 
00078         class IEvent : public ISFObject
00079         {
00080         public:
00083             virtual IActionList * GetActionList() = 0;
00084 
00087             static IEvent * From( 
00088                 IReadBytes * in_pBytes      
00089                 );
00090 
00093             virtual bool To( 
00094                 IWriteBytes * io_pBytes     
00095                 ) = 0;
00096         };
00097 
00099         class IAction : public ISFRefCount
00100         {
00101         public:
00107             virtual const WCHAR * GetName() const = 0;
00108 
00111             virtual AkUniqueID GetSoundObjectID() const = 0;
00112         };
00113 
00115         class IDialogueEvent : public ISFObject
00116         {
00117         public:
00120             virtual IArgumentList * GetArgumentList() = 0;
00121 
00124             static IDialogueEvent * From( 
00125                 IReadBytes * in_pBytes      
00126                 );
00127 
00130             virtual bool To( 
00131                 IWriteBytes * io_pBytes     
00132                 ) = 0;
00133         };
00134 
00136         class IArgument : public ISFObject
00137         {
00138         public:
00141             virtual IArgumentValueList * GetArgumentValueList() = 0;
00142 
00145             static IArgument * From( 
00146                 IReadBytes * in_pBytes      
00147                 );
00148 
00151             virtual bool To( 
00152                 IWriteBytes * io_pBytes     
00153                 ) = 0;
00154         };
00155 
00157         class IArgumentValue : public ISFObject 
00158         {};
00159 
00161         class ISoundObject : public ISFObject
00162         {
00163         public:
00166             virtual bool HasAttenuation() const = 0;
00167 
00170             virtual double AttenuationMaxDistance() const = 0;
00171 
00174             static ISoundObject * From( 
00175                 IReadBytes * in_pBytes      
00176                 );  
00177 
00180             virtual bool To( 
00181                 IWriteBytes * io_pBytes     
00182                 ) = 0;
00183         };
00184 
00186         class IStateGroup : public ISFObject
00187         {
00188         public:
00191             virtual IStateList * GetStateList() = 0;
00192 
00195             static IStateGroup * From( 
00196                 IReadBytes * in_pBytes      
00197                 );
00198 
00201             virtual bool To( 
00202                 IWriteBytes * io_pBytes     
00203                 ) = 0;
00204         };
00205 
00207         class IState : public ISFObject 
00208         {};
00209 
00211         class ISwitchGroup : public ISFObject
00212         {
00213         public:
00216             virtual ISwitchList * GetSwitchList() = 0;
00217 
00220             static ISwitchGroup * From( 
00221                 IReadBytes * in_pBytes      
00222                 );
00223 
00226             virtual bool To( 
00227                 IWriteBytes * io_pBytes     
00228                 ) = 0;
00229         };
00230 
00232         class ISwitch : public ISFObject 
00233         {};
00234 
00240         class IGameParameter : public ISFObject
00241         {
00242         public:
00243 
00246             virtual double RangeMin() const = 0;
00247 
00250             virtual double RangeMax() const = 0;
00251 
00254             virtual double Default() const = 0;
00255 
00258             static IGameParameter * From( 
00259                 IReadBytes * in_pBytes      
00260                 );  
00261 
00264             virtual bool To( 
00265                 IWriteBytes * io_pBytes     
00266                 ) = 0;
00267         };
00268 
00270         class IConversionSettings : public ISFObject
00271         {
00272         public:
00275             static IConversionSettings * From( 
00276                 IReadBytes * in_pBytes      
00277                 );
00278 
00281             virtual bool To( 
00282                 IWriteBytes * io_pBytes     
00283                 ) = 0;
00284         };
00285 
00287         class ITrigger : public ISFObject 
00288         {
00289         public:
00292             static ITrigger * From( 
00293                 IReadBytes * in_pBytes      
00294                 );  
00295 
00298             virtual bool To( 
00299                 IWriteBytes * io_pBytes     
00300                 ) = 0;
00301         };
00302 
00304         class IAuxBus : public ISFObject 
00305         {
00306         public:
00309             static IAuxBus * From( 
00310                 IReadBytes * in_pBytes      
00311                 );  
00312 
00315             virtual bool To( 
00316                 IWriteBytes * io_pBytes     
00317                 ) = 0;
00318         };
00319 
00321         class ISoundBank : public ISFObject
00322         {
00323         public:
00326             static ISoundBank * From( 
00327                 IReadBytes * in_pBytes      
00328                 );
00329 
00332             virtual bool To( 
00333                 IWriteBytes * io_pBytes     
00334                 ) = 0;
00335         };
00336 
00338         class IGameObject : public ISFRefCount
00339         {
00340         public:
00343             static const AkGameObjectID s_InvalidGameObject = (unsigned int)(~0);
00344 
00346             static const AkGameObjectID s_WwiseGameObject = 0;
00347 
00354             virtual const WCHAR * GetName() const = 0;
00355 
00358             virtual AkGameObjectID GetID() const = 0;
00359 
00362             static IGameObject * From( 
00363                 IReadBytes * in_pBytes      
00364                 );
00365 
00368             virtual bool To( 
00369                 IWriteBytes * io_pBytes     
00370                 ) = 0;
00371         };
00372 
00374         class IOriginalFile : public ISFObject
00375         {
00376         public:
00379             static IOriginalFile * From( 
00380                 IReadBytes * in_pBytes      
00381                 );
00382 
00385             virtual bool To( 
00386                 IWriteBytes * io_pBytes     
00387                 ) = 0;
00388         };
00389 
00391         class IEventList : public IObjectList
00392         {
00393         public:
00396             virtual IEvent * Next() = 0;        
00397         };
00398 
00400         class IActionList : public IObjectList
00401         {
00402         public:
00405             virtual IAction * Next() = 0;
00406         };
00407 
00409         class IDialogueEventList : public IObjectList
00410         {
00411         public:
00414             virtual IDialogueEvent * Next() = 0;        
00415         };
00416 
00418         class ISoundObjectList : public IObjectList
00419         {
00420         public:
00423             virtual ISoundObject * Next() = 0;      
00424         };
00425 
00427         class IStateGroupList : public IObjectList
00428         {
00429         public:
00432             virtual IStateGroup * Next() = 0;
00433         };
00434 
00436         class IStateList : public IObjectList
00437         {
00438         public:
00441             virtual IState * Next() = 0;
00442         };
00443 
00445         class ISwitchGroupList : public IObjectList
00446         {
00447         public:
00450             virtual ISwitchGroup * Next() = 0;
00451         };
00452 
00454         class ISwitchList : public IObjectList
00455         {
00456         public:
00459             virtual ISwitch * Next() = 0;
00460         };
00461 
00467         class IGameParameterList : public IObjectList
00468         {
00469         public:
00472             virtual IGameParameter * Next() = 0;
00473         };
00474 
00476         class IConversionSettingsList : public IObjectList
00477         {
00478         public:
00481             virtual IConversionSettings * Next() = 0;
00482         };
00483 
00485         class ITriggerList : public IObjectList
00486         {
00487         public:
00490             virtual ITrigger * Next() = 0;      
00491         };
00492 
00494         class IArgumentList : public IObjectList
00495         {
00496         public:
00499             virtual IArgument * Next() = 0;     
00500         };
00501 
00503         class IArgumentValueList : public IObjectList
00504         {
00505         public:
00508             virtual IArgumentValue * Next() = 0;        
00509         };
00510 
00512         class IAuxBusList : public IObjectList
00513         {
00514         public:
00517             virtual IAuxBus * Next() = 0;       
00518         };
00519 
00521         class ISoundBankList : public IObjectList
00522         {
00523         public:
00526             virtual ISoundBank * Next() = 0;        
00527         };
00528 
00530         class IGameObjectList : public IObjectList
00531         {
00532         public:
00535             virtual IGameObject * Next() = 0;       
00536         };
00537 
00539         class IOriginalFileList : public IObjectList
00540         {
00541         public:
00544             virtual IOriginalFile * Next() = 0;     
00545         };
00546     }
00547 }
00548 
00549 #endif // _AK_SOUNDFRAME_OBJECTS_SF_H