function runBuilder($params) { $builder = new Builder($params); if ($builder->build()) { $contents = array(); $contents[] = ''; $contents[] = '// add to AppDelegate.cpp'; $contents[] = sprintf('#include "%s"', $builder->getOutputFilename() . '.h'); $contents[] = ''; $contents[] = '// add to AppDelegate::applicationDidFinishLaunching()'; $contents[] = 'CCLuaStack* stack = CCScriptEngineManager::sharedManager()->getScriptEngine()->getLuaStack();'; $contents[] = 'lua_State* L = stack->getLuaState();'; $contents[] = sprintf('%s(L);', $builder->getLuaopenFunctionName()); $contents[] = ''; print implode("\n", $contents); } }
Mtolua_delete(self); return 0; } EOT; $replace = ''; $FIX[$find] = $replace; // main $extensions = array('crypto' => 'cocos2dx_extension_crypto_win32', 'network' => 'cocos2dx_extension_network_win32'); // main printf("\nOUT_DIR: %s\n", OUT_DIR); $contents = array(); $contents[] = ''; $contents[] = '// cocos2dx-extensions'; $functions = array(); foreach ($extensions as $extensionName => $luabindingFilename) { $builder = new Builder($luabindingFilename, $FIX); $builder->build(); $contents[] = sprintf('#include "%s"', $luabindingFilename . '.h'); $functions[] = $builder->getLuaopenFunctionName(); } $contents[] = ''; $contents[] = ''; $contents[] = '// cocos2dx-extensions'; $contents[] = 'lua_State* L = CCScriptEngineManager::sharedManager()->getScriptEngine()->getLuaState();'; foreach ($functions as $functionName) { $contents[] = sprintf('%s(L);', $functionName); } $contents[] = ''; $contents[] = ''; print "\n---------------------\n"; print implode("\n", $contents);