| 1188 | } |
| 1189 | |
| 1190 | HScriptWorld NewScriptWorld(HContext context) |
| 1191 | { |
| 1192 | HScriptWorld script_world = (ScriptWorld*)malloc(sizeof(ScriptWorld)); |
| 1193 | assert(script_world != 0x0); |
| 1194 | script_world->m_Context = context; |
| 1195 | lua_State* L = script_world->m_Context->m_LuaState; |
| 1196 | lua_newtable(L); |
| 1197 | script_world->m_WorldContextTableRef = Ref(L, LUA_REGISTRYINDEX); |
| 1198 | for (HScriptExtension* l = context->m_ScriptExtensions.Begin(); l != context->m_ScriptExtensions.End(); ++l) |
| 1199 | { |
| 1200 | if ((*l)->NewScriptWorld != 0x0) |
| 1201 | { |
| 1202 | (*l)->NewScriptWorld(script_world); |
| 1203 | } |
| 1204 | } |
| 1205 | return script_world; |
| 1206 | } |
| 1207 | |
| 1208 | void DeleteScriptWorld(HScriptWorld script_world) |
| 1209 | { |