diff options
author | est31 <MTest31@outlook.com> | 2015-07-11 02:24:00 +0200 |
---|---|---|
committer | est31 <MTest31@outlook.com> | 2015-07-27 06:42:56 +0200 |
commit | c30a2d68541b6ff451d92709478b4e37cac86447 (patch) | |
tree | 03b92452d7b63e0a81f7e636e38e3c40c2ba1128 /src/script/lua_api/l_areastore.h | |
parent | 454a29037061ba62d89af41ecae23b4424f41ea5 (diff) | |
download | minetest-c30a2d68541b6ff451d92709478b4e37cac86447.tar.gz minetest-c30a2d68541b6ff451d92709478b4e37cac86447.tar.bz2 minetest-c30a2d68541b6ff451d92709478b4e37cac86447.zip |
Add AreaStore data structure
Diffstat (limited to 'src/script/lua_api/l_areastore.h')
-rw-r--r-- | src/script/lua_api/l_areastore.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src/script/lua_api/l_areastore.h b/src/script/lua_api/l_areastore.h new file mode 100644 index 000000000..a25529627 --- /dev/null +++ b/src/script/lua_api/l_areastore.h @@ -0,0 +1,70 @@ +/* +Minetest +Copyright (C) 2015 est31 <mtest31@outlook.com> + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#ifndef L_AREASTORE_H_ +#define L_AREASTORE_H_ + +#include "lua_api/l_base.h" +#include "irr_v3d.h" +#include "areastore.h" + +/* + AreaStore + */ +class LuaAreaStore : public ModApiBase { +private: + + static const char className[]; + static const luaL_reg methods[]; + + static int gc_object(lua_State *L); + + static int l_get_area(lua_State *L); + + static int l_get_areas_for_pos(lua_State *L); + static int l_get_areas_in_area(lua_State *L); + static int l_insert_area(lua_State *L); + static int l_reserve(lua_State *L); + static int l_remove_area(lua_State *L); + + static int l_set_cache_params(lua_State *L); + + /* static int l_to_string(lua_State *L); + static int l_to_file(lua_State *L); + + static int l_from_string(lua_State *L); + static int l_from_file(lua_State *L); */ + +public: + AreaStore *as; + + LuaAreaStore(); + LuaAreaStore(const std::string &type); + ~LuaAreaStore(); + + // AreaStore() + // Creates a AreaStore and leaves it on top of stack + static int create_object(lua_State *L); + + static LuaAreaStore *checkobject(lua_State *L, int narg); + + static void Register(lua_State *L); +}; + +#endif /* L_AREASTORE_H_ */ |