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);
    }
}
コード例 #2
0
    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);