TA的每日心情 | 无聊 2014-8-8 12:31 |
---|
签到天数: 37 天 [LV.5]常住居民I 鲜花( 0) 鸡蛋( 0)
|
武侠-event
一 武侠的event是个比较强的系统,个人感觉也是做的比较好的,结合lua使用起来很不错
二 实现
1 定义结构
struct EVENT_DEFINE
{
typedef std::list< std::pair< FUNC_EVENT_HANDLE, UINT > > REGISTER_STRUCT;
-----------------------------
// 参数
for(INT i=0; i<(INT)pEvent->vArg.size(); i++)
{
CHAR szTemp[MAX_PATH];
_snprintf(szTemp, MAX_PATH, "arg%d", i);
g_pScriptSys->GetLuaState()->GetGlobals().SetString(szTemp, pEvent->vArg.c_str());
}
//--------------------------------------------------------
// 调用脚本
CHAR szFunctionName[MAX_PATH];
_snprintf(szFunctionName, MAX_PATH, "%s_OnEvent", pWinItem->m_strWindowName.c_str());
CHAR szFunctionParam[MAX_PATH];
_snprintf(szFunctionParam, MAX_PATH, "\"%s\"", pEvent->pEventDef->szEvent);
pWinItem->m_pScriptEnv->DoFunction(szFunctionName, szFunctionParam);
|
|