//----------------------------------------------------------------// void AKURunString ( const char* script ) { int status; MOAILuaStateHandle state = MOAILuaRuntime::Get ().State (); status = luaL_loadstring ( state, script ); if ( state.PrintErrors ( USLog::CONSOLE, status )) return; state.DebugCall ( 0, 0 ); }
//----------------------------------------------------------------// void AKURunScript ( const char* filename ) { if ( !USFileSys::CheckFileExists ( filename )) return; int status; MOAILuaStateHandle state = MOAILuaRuntime::Get ().State (); status = luaL_loadfile ( state, filename ); if ( state.PrintErrors ( USLog::CONSOLE, status )) return; state.DebugCall ( 0, 0 ); }
//----------------------------------------------------------------// u32 MOAIDeserializer::SerializeFromFile ( cc8* filename ) { this->Clear (); int status; MOAILuaStateHandle state = MOAILuaRuntime::Get ().State (); // load the lua file status = luaL_loadfile ( state, filename ); if ( state.PrintErrors ( USLog::CONSOLE, status )) return LOAD_ERROR; // load self as the func param this->PushLuaUserdata ( state ); // call the chunk if ( state.DebugCall ( 1, 0 )) return LUA_ERROR; lua_gc ( state, LUA_GCCOLLECT, 0 ); // done! return SUCCESS; }