int LuaCreatureObject::getGroupMember(lua_State* L) { int i = lua_tonumber(L, -1); if (i < 0) i = 0; Locker locker(realObject); GroupObject* group = realObject->getGroup(); if (group == NULL) { lua_pushnil(L); return 1; } Locker lock(group, realObject); if (group->getGroupSize() < i) { lua_pushnil(L); return 1; } SceneObject* creo = group->getGroupMember(i); if (creo == NULL) { realObject->info("LuaCreatureObject::getGroupMember GroupMember is NULL."); lua_pushnil(L); } else { creo->_setUpdated(true); lua_pushlightuserdata(L, creo); } return 1; }
int LuaSceneObject::getParent(lua_State* L) { SceneObject* obj = realObject->getParent().get().get(); if (obj == NULL) { lua_pushnil(L); } else { obj->_setUpdated(true); lua_pushlightuserdata(L, obj); } return 1; }
int LuaSceneObject::getSlottedObject(lua_State* L) { String slot = lua_tostring(L, -1); SceneObject* obj = realObject->getSlottedObject(slot); if (obj == NULL) { lua_pushnil(L); } else { obj->_setUpdated(true); lua_pushlightuserdata(L, obj); } return 1; }
int LuaSceneObject::getContainerObjectById(lua_State* L) { uint64 objectID = lua_tointeger(L, -1); SceneObject* obj = realObject->getContainerObject(objectID); if (obj != NULL) { obj->_setUpdated(true); lua_pushlightuserdata(L, obj); } else { lua_pushnil(L); } return 1; }
int LuaSceneObject::getContainerObject(lua_State* L) { int idx = lua_tonumber(L, -1); SceneObject* obj = realObject->getContainerObject(idx); if (obj == NULL) { lua_pushnil(L); } else { obj->_setUpdated(true); lua_pushlightuserdata(L, obj); } return 1; }