aboutsummaryrefslogtreecommitdiff
path: root/src/client/lua_api/scene/igeneric.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/lua_api/scene/igeneric.cpp')
-rw-r--r--src/client/lua_api/scene/igeneric.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/client/lua_api/scene/igeneric.cpp b/src/client/lua_api/scene/igeneric.cpp
index 63bf4bc..dcac022 100644
--- a/src/client/lua_api/scene/igeneric.cpp
+++ b/src/client/lua_api/scene/igeneric.cpp
@@ -161,6 +161,23 @@ int iscenesetscale(lua_State *L){
}
/***
+Sets the visibility of this scene element
+@function iscenenode:setvisible(bool)
+@tparam boolean visible Sets the visibility for this element
+*/
+//setvisible(true|false)
+int iscenesetvisible(lua_State *L){
+ int visible = lua_toboolean(L,-1);
+ lua_pop(L,1);
+ lua_getfield(L, -1, "node");
+ ISceneNode *i = (ISceneNode*)lua_touserdata(L,-1);//{node=ud_ISceneNode}, ud_ISceneNode
+ lua_pop(L,2);
+
+ i->setVisible(visible == 1);
+ return 0;
+}
+
+/***
Get the scale of this scene element.
@function iscenenode:getscale()
@treturn vector3d The scale scale of this element.
@@ -208,5 +225,6 @@ extern const luaL_reg igeneric_m[] = {
{"setscale", iscenesetscale},
{"getscale", iscenegetscale},
{"remove", isceneremove},
+ {"setvisible", iscenesetvisible},
{0, 0},
};