Exemple #1
0
int gr_node_set_material_cmd(lua_State* L)
{
   GRLUA_DEBUG_CALL;
   
   gr_node_ud* selfdata = (gr_node_ud*)luaL_checkudata(L, 1, "gr.node");
   luaL_argcheck(L, selfdata != 0, 1, "Node expected");
   GeometryNode* self = dynamic_cast<GeometryNode*>(selfdata->node);
   ASSERT(self);
   
   luaL_argcheck(L, self != 0, 1, "Geometry node expected");
   
   gr_material_ud* matdata = (gr_material_ud*)luaL_checkudata(L, 2, "gr.material");
   luaL_argcheck(L, matdata != 0, 2, "Material expected");
   
   Material* material = matdata->material;
   
   self->setMaterial(material);
   
   return 0;
}