버전

menu_open

include/AK/SoundEngine/Common/AkDynamicDialogue.h

Go to the documentation of this file.
00001 /*******************************************************************************
00002 The content of this file includes portions of the AUDIOKINETIC Wwise Technology
00003 released in source code form as part of the SDK installer package.
00004 
00005 Commercial License Usage
00006 
00007 Licensees holding valid commercial licenses to the AUDIOKINETIC Wwise Technology
00008 may use this file in accordance with the end user license agreement provided 
00009 with the software or, alternatively, in accordance with the terms contained in a
00010 written agreement between you and Audiokinetic Inc.
00011 
00012 Apache License Usage
00013 
00014 Alternatively, this file may be used under the Apache License, Version 2.0 (the 
00015 "Apache License"); you may not use this file except in compliance with the 
00016 Apache License. You may obtain a copy of the Apache License at 
00017 http://www.apache.org/licenses/LICENSE-2.0.
00018 
00019 Unless required by applicable law or agreed to in writing, software distributed
00020 under the Apache License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
00021 OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for
00022 the specific language governing permissions and limitations under the License.
00023 
00024   Version: <VERSION>  Build: <BUILDNUMBER>
00025   Copyright (c) <COPYRIGHTYEAR> Audiokinetic Inc.
00026 *******************************************************************************/
00027 
00028 #ifndef _AK_SOUNDENGINE_AKDYNAMICDIALOGUE_H
00029 #define _AK_SOUNDENGINE_AKDYNAMICDIALOGUE_H
00030 
00031 #include <AK/SoundEngine/Common/AkSoundEngine.h>
00032 
00033 /// Callback prototype used with dialogue event resolution. This function is called
00034 /// for every candidate in a ResolveDialogueEvent execution.
00035 /// \return true to accept candidate, false to reject.
00036 /// \sa 
00037 /// - AK::SoundEngine::DynamicDialogue::ResolveDialogueEvent()
00038 AK_CALLBACK( bool, AkCandidateCallbackFunc )(
00039     AkUniqueID in_idEvent,
00040     AkUniqueID in_idCandidate,
00041     void* in_cookie
00042     );
00043 
00044 namespace AK
00045 {
00046     namespace SoundEngine
00047     {
00048         /// Dynamic Dialogue namespace
00049         /// \remarks The functions in this namespace are thread-safe, unless stated otherwise.
00050         namespace DynamicDialogue
00051         {
00052             /// Resolve a dialogue event into an audio node ID based on the specified argument path.
00053             /// \return Unique ID of audio node, or AK_INVALID_UNIQUE_ID if no audio node is defined for specified argument path
00054             AK_EXTERNAPIFUNC( AkUniqueID, ResolveDialogueEvent )(
00055                     AkUniqueID          in_eventID,                 ///< Unique ID of dialogue event
00056                     AkArgumentValueID*  in_aArgumentValues,         ///< Argument path, as array of argument value IDs. AK_FALLBACK_ARGUMENTVALUE_ID indicates a fallback argument value
00057                     AkUInt32            in_uNumArguments,           ///< Number of argument value IDs in in_aArgumentValues
00058                     AkPlayingID         in_idSequence = AK_INVALID_PLAYING_ID,  ///< Optional sequence ID in which the token will be inserted (for profiling purposes)
00059                     AkCandidateCallbackFunc in_candidateCallbackFunc = NULL, ///< Optional callback for candidate validation based on custom criteria
00060                     void* in_pCookie = NULL                         ///< Callback cookie (reserved to user, passed to the callback function)
00061                 );
00062 
00063 #ifdef AK_SUPPORT_WCHAR
00064             /// Resolve a dialogue event into an audio node ID based on the specified argument path.
00065             /// \return Unique ID of audio node, or AK_INVALID_UNIQUE_ID if no audio node is defined for specified argument path
00066             AK_EXTERNAPIFUNC( AkUniqueID, ResolveDialogueEvent )(
00067                     const wchar_t*      in_pszEventName,            ///< Name of dialogue event
00068                     const wchar_t**     in_aArgumentValueNames,     ///< Argument path, as array of argument value names. L"" indicates a fallback argument value
00069                     AkUInt32            in_uNumArguments,           ///< Number of argument value names in in_aArgumentValueNames
00070                     AkPlayingID         in_idSequence = AK_INVALID_PLAYING_ID,  ///< Optional sequence ID in which the token will be inserted (for profiling purposes)
00071                     AkCandidateCallbackFunc in_candidateCallbackFunc = NULL, ///< Optional callback for candidate validation based on custom criteria
00072                     void* in_pCookie = NULL                         ///< Callback cookie (reserved to user, passed to the callback function)
00073                 );
00074 #endif //AK_SUPPORT_WCHAR
00075 
00076             /// Resolve a dialogue event into an audio node ID based on the specified argument path.
00077             /// \return Unique ID of audio node, or AK_INVALID_UNIQUE_ID if no audio node is defined for specified argument path
00078             AK_EXTERNAPIFUNC( AkUniqueID, ResolveDialogueEvent )(
00079                     const char*         in_pszEventName,            ///< Name of dialogue event
00080                     const char**        in_aArgumentValueNames,     ///< Argument path, as array of argument value names. "" indicates a fallback argument value
00081                     AkUInt32            in_uNumArguments,           ///< Number of argument value names in in_aArgumentValueNames
00082                     AkPlayingID         in_idSequence = AK_INVALID_PLAYING_ID,  ///< Optional sequence ID in which the token will be inserted (for profiling purposes)
00083                     AkCandidateCallbackFunc in_candidateCallbackFunc = NULL, ///< Optional callback for candidate validation based on custom criteria
00084                     void* in_pCookie = NULL                         ///< Callback cookie (reserved to user, passed to the callback function)
00085                 );
00086 
00087             /// Get the value of a custom property of integer or boolean type.
00088             AK_EXTERNAPIFUNC(AKRESULT, GetDialogueEventCustomPropertyValue)(
00089                 AkUniqueID in_eventID,          ///< Unique ID of dialogue event
00090                 AkUInt32 in_uPropID,            ///< Property ID of your custom property found under the Custom Properties tab of the Wwise project settings.
00091                 AkInt32& out_iValue             ///< Property Value
00092                 );
00093 
00094             /// Get the value of a custom property of real type.
00095             AK_EXTERNAPIFUNC(AKRESULT, GetDialogueEventCustomPropertyValue)(
00096                 AkUniqueID in_eventID,          ///< Unique ID of dialogue event
00097                 AkUInt32 in_uPropID,            ///< Property ID of your custom property found under the Custom Properties tab of the Wwise project settings.
00098                 AkReal32& out_fValue            ///< Property Value
00099                 );
00100         }
00101     }
00102 }
00103 
00104 #endif // _AK_SOUNDENGINE_AKDYNAMICDIALOGUE_H

이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요