static int SendBinaryMessageToLua(int nHandler,const unsigned char* pTable,int nLength) { if (NULL == pTable || nHandler <= 0) { return 0; } if (NULL == CCScriptEngineManager::sharedManager()->getScriptEngine()) { return 0; } CCLuaStack *pStack = CCLuaEngine::defaultEngine()->getLuaStack(); if (NULL == pStack) { return 0; } lua_State *tolua_s = pStack->getLuaState(); if (NULL == tolua_s) { return 0; } int nRet = 0; CCLuaValueArray array; for (int i = 0 ; i < nLength; i++) { CCLuaValue value = CCLuaValue::intValue(pTable[i]); array.push_back(value); } pStack->pushCCLuaValueArray(array); nRet = pStack->executeFunctionByHandler(nHandler, 1); pStack->clean(); return nRet; }
void CCZipFile::getFileList() { if(!m_hasGenFlist) { genFileList(); } CCLuaValueArray array; for(auto a:m_fileList) { CCLuaValue value = CCLuaValue::stringValue(a.first); array.push_back(value); } CCLuaStack* stack = CCLuaEngine::defaultEngine()->getLuaStack(); stack->clean(); stack->pushCCLuaValueArray(array); return; }