visible = false wasn't working
parent
160d8006f0
commit
587da73726
68
api.lua
68
api.lua
|
@ -2,7 +2,7 @@ panel_lib.panels = {} -- KEY: p_name; VALUE: {{"panel name" = panel}, {"pa
|
|||
|
||||
local function clone_table() end
|
||||
local function add_sub_elem() end
|
||||
local function remove_sub_elem() end
|
||||
local function update_sub_elems() end
|
||||
|
||||
Panel = {
|
||||
name = "",
|
||||
|
@ -53,7 +53,7 @@ function Panel:new(name, def)
|
|||
name = def.name
|
||||
end
|
||||
|
||||
if def.is_shown then
|
||||
if def.is_shown ~= nil then
|
||||
minetest.log("warning", "[PANEL_LIB] `is_shown` is deprecated. Use `visible` instead")
|
||||
def.visible = def.is_shown
|
||||
end
|
||||
|
@ -107,13 +107,15 @@ function Panel:new(name, def)
|
|||
panel.player_name = def.player
|
||||
end
|
||||
|
||||
if def.visible ~= nil and type(def.visible) == "boolean" then
|
||||
panel.visible = def.visible
|
||||
end
|
||||
|
||||
panel.hud_text.bg_hud_txt = panel.background_def.text
|
||||
panel.hud_text.text_hud_txt = panel.title_def.text
|
||||
|
||||
-- se il pannello non è mostrato di base, svuoto sfondo e titolo
|
||||
if not def.visible then
|
||||
if panel.visible == false then
|
||||
panel.background_def.text = ""
|
||||
panel.title_def.text = ""
|
||||
end
|
||||
|
@ -189,8 +191,6 @@ end
|
|||
|
||||
function Panel:update(def, txt_elems, img_elems)
|
||||
|
||||
local player = minetest.get_player_by_name(self.player_name)
|
||||
|
||||
if def ~= nil then
|
||||
for k, v in pairs(def) do
|
||||
self[k] = v
|
||||
|
@ -198,39 +198,11 @@ function Panel:update(def, txt_elems, img_elems)
|
|||
end
|
||||
|
||||
if txt_elems ~= nil then
|
||||
|
||||
for elem, _ in pairs(txt_elems) do
|
||||
for k, v in pairs(txt_elems[elem]) do
|
||||
self[elem][k] = v
|
||||
|
||||
if k == "text" then
|
||||
self.hud_text[elem] = v
|
||||
end
|
||||
|
||||
if self.visible == true then
|
||||
player:hud_change(self.hud_id[elem], k, v)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
update_sub_elems(self, txt_elems)
|
||||
end
|
||||
|
||||
if img_elems ~= nil then
|
||||
|
||||
for elem, _ in pairs(img_elems) do
|
||||
for k, v in pairs(img_elems[elem]) do
|
||||
self[elem][k] = v
|
||||
|
||||
if k == "text" then
|
||||
self.hud_text[elem] = v
|
||||
end
|
||||
|
||||
if self.visible == true then
|
||||
player:hud_change(self.hud_id[elem], k, v)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
update_sub_elems(self, img_elems)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -341,11 +313,10 @@ function add_sub_elem(panel, type, name, HUD_elem)
|
|||
|
||||
-- mantengo la stessa posizione del corpo del panel, costringendo
|
||||
-- l'utente a modificare gli offset se vuole spostare gli elementi
|
||||
HUD_elem.position = mould.position
|
||||
panel[name].position = mould.position
|
||||
|
||||
-- mostro l'elemento se il pannello era già visibile
|
||||
panel[name].text = panel.visible and panel[name].text or ""
|
||||
panel[name].text = panel:is_visible() and panel[name].text or ""
|
||||
|
||||
panel.hud_id[name] = minetest.get_player_by_name(panel.player_name):hud_add(panel[name])
|
||||
panel.hud_text[name] = HUD_elem.text
|
||||
|
@ -353,6 +324,29 @@ end
|
|||
|
||||
|
||||
|
||||
function update_sub_elems(panel, elems)
|
||||
|
||||
local player = minetest.get_player_by_name(panel.player_name)
|
||||
|
||||
for elem, _ in pairs(elems) do
|
||||
for k, v in pairs(elems[elem]) do
|
||||
panel[elem][k] = v
|
||||
|
||||
if k == "text" then
|
||||
panel.hud_text[elem] = v
|
||||
-- aggiorno il testo solo se visibile
|
||||
if panel:is_visible() then
|
||||
player:hud_change(panel.hud_id[elem], k, v)
|
||||
end
|
||||
else
|
||||
player:hud_change(panel.hud_id[elem], k, v)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
----------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue