Added glue functions to set the pager triggers
This commit is contained in:
@@ -90,16 +90,55 @@ static int unloadRegion(lua_State* L) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int setOnLoad(lua_State* L) {
|
||||||
|
RegionPagerLua* pager = reinterpret_cast<RegionPagerLua*>(lua_touserdata(L, 1));
|
||||||
|
luaL_unref(L, LUA_REGISTRYINDEX, pager->GetLoadReference());
|
||||||
|
pager->SetLoadReference(luaL_ref(L, LUA_REGISTRYINDEX));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int setOnSave(lua_State* L) {
|
||||||
|
RegionPagerLua* pager = reinterpret_cast<RegionPagerLua*>(lua_touserdata(L, 1));
|
||||||
|
luaL_unref(L, LUA_REGISTRYINDEX, pager->GetSaveReference());
|
||||||
|
pager->SetSaveReference(luaL_ref(L, LUA_REGISTRYINDEX));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int setOnCreate(lua_State* L) {
|
||||||
|
RegionPagerLua* pager = reinterpret_cast<RegionPagerLua*>(lua_touserdata(L, 1));
|
||||||
|
luaL_unref(L, LUA_REGISTRYINDEX, pager->GetCreateReference());
|
||||||
|
pager->SetCreateReference(luaL_ref(L, LUA_REGISTRYINDEX));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int setOnUnload(lua_State* L) {
|
||||||
|
RegionPagerLua* pager = reinterpret_cast<RegionPagerLua*>(lua_touserdata(L, 1));
|
||||||
|
luaL_unref(L, LUA_REGISTRYINDEX, pager->GetUnloadReference());
|
||||||
|
pager->SetUnloadReference(luaL_ref(L, LUA_REGISTRYINDEX));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static const luaL_Reg regionPagerLib[] = {
|
static const luaL_Reg regionPagerLib[] = {
|
||||||
|
//curry
|
||||||
{"SetTile", setTile},
|
{"SetTile", setTile},
|
||||||
{"GetTile", getTile},
|
{"GetTile", getTile},
|
||||||
{"SetSolid", setSolid},
|
{"SetSolid", setSolid},
|
||||||
{"GetSolid", getSolid},
|
{"GetSolid", getSolid},
|
||||||
|
|
||||||
|
//access and control
|
||||||
{"GetRegion", getRegion},
|
{"GetRegion", getRegion},
|
||||||
{"LoadRegion", loadRegion},
|
{"LoadRegion", loadRegion},
|
||||||
{"SaveRegion", saveRegion},
|
{"SaveRegion", saveRegion},
|
||||||
{"CreateRegion", createRegion},
|
{"CreateRegion", createRegion},
|
||||||
{"UnloadRegion", unloadRegion},
|
{"UnloadRegion", unloadRegion},
|
||||||
|
|
||||||
|
//triggers
|
||||||
|
{"SetOnLoad",setOnLoad},
|
||||||
|
{"SetOnSave",setOnSave},
|
||||||
|
{"SetOnCreate",setOnCreate},
|
||||||
|
{"SetOnUnload",setOnUnload},
|
||||||
|
|
||||||
|
//sentinel
|
||||||
{nullptr, nullptr}
|
{nullptr, nullptr}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user