本文整理汇总了C++中CClientEntity::GetEventManager方法的典型用法代码示例。如果您正苦于以下问题:C++ CClientEntity::GetEventManager方法的具体用法?C++ CClientEntity::GetEventManager怎么用?C++ CClientEntity::GetEventManager使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CClientEntity
的用法示例。
在下文中一共展示了CClientEntity::GetEventManager方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddEventHandler
int CLuaFunctionDefs::AddEventHandler ( lua_State* luaVM )
{
// bool addEventHandler ( string eventName, element attachedTo, function handlerFunction, [bool getPropagated = true] )
SString strName; CClientEntity* pEntity; CLuaFunctionRef iLuaFunction; bool bPropagated;
CScriptArgReader argStream ( luaVM );
argStream.ReadString ( strName );
argStream.ReadUserData ( pEntity );
argStream.ReadFunction ( iLuaFunction );
argStream.ReadBool ( bPropagated, true );
argStream.ReadFunctionComplete ();
if ( !argStream.HasErrors () )
{
// Grab our virtual machine
CLuaMain* pLuaMain = m_pLuaManager->GetVirtualMachine ( luaVM );
if ( pLuaMain )
{
// Check if the handle is in use
if ( pEntity->GetEventManager()->HandleExists ( pLuaMain, strName, iLuaFunction ) )
{
m_pScriptDebugging->LogCustom ( luaVM, 255, 0, 0, "addEventHandler: '%s' with this function is already handled", *strName );
lua_pushboolean ( luaVM, false );
return 1;
}
// Do it
if ( CStaticFunctionDefinitions::AddEventHandler ( *pLuaMain, strName, *pEntity, iLuaFunction, bPropagated ) )
{
lua_pushboolean ( luaVM, true );
return 1;
}
}
}
else
m_pScriptDebugging->LogCustom ( luaVM, SString ( "Bad argument @ '%s' [%s]", "addEventHandler", *argStream.GetErrorMessage () ) );
// Failed
lua_pushboolean ( luaVM, false );
return 1;
}