is_shown -> visible | Panels are now by default visible when created
This commit is contained in:
parent
f702b37cbf
commit
160d8006f0
64
api.lua
64
api.lua
@ -34,8 +34,7 @@ Panel = {
|
||||
sub_img_elems = {},
|
||||
sub_txt_elems = {},
|
||||
|
||||
is_shown = false
|
||||
|
||||
visible = true
|
||||
}
|
||||
|
||||
|
||||
@ -53,6 +52,11 @@ function Panel:new(name, def)
|
||||
def = clone_table(name)
|
||||
name = def.name
|
||||
end
|
||||
|
||||
if def.is_shown then
|
||||
minetest.log("warning", "[PANEL_LIB] `is_shown` is deprecated. Use `visible` instead")
|
||||
def.visible = def.is_shown
|
||||
end
|
||||
--^------------------ LEGACY UPDATE, to remove in 3.0 -------------------^
|
||||
|
||||
if not name or type(name) ~= "string" then
|
||||
@ -103,27 +107,33 @@ function Panel:new(name, def)
|
||||
panel.player_name = def.player
|
||||
end
|
||||
|
||||
local player = minetest.get_player_by_name(def.player)
|
||||
|
||||
-- creo sfondo e titolo
|
||||
panel.hud_id.bg_hud_id = player:hud_add(panel.background_def)
|
||||
panel.hud_id.text_hud_id = player:hud_add(panel.title_def)
|
||||
panel.visible = def.visible
|
||||
|
||||
panel.hud_text.bg_hud_txt = panel.background_def.text
|
||||
panel.hud_text.text_hud_txt = panel.title_def.text
|
||||
|
||||
panel.is_shown = true
|
||||
-- se il pannello non è mostrato di base, svuoto sfondo e titolo
|
||||
if not def.visible then
|
||||
panel.background_def.text = ""
|
||||
panel.title_def.text = ""
|
||||
end
|
||||
|
||||
local player = minetest.get_player_by_name(def.player)
|
||||
|
||||
-- assegno sfondo e titolo
|
||||
panel.hud_id.bg_hud_id = player:hud_add(panel.background_def)
|
||||
panel.hud_id.text_hud_id = player:hud_add(panel.title_def)
|
||||
|
||||
-- controllo sottoelementi
|
||||
if def.sub_img_elems then
|
||||
for name, HUD_elem in pairs(def.sub_img_elems) do
|
||||
add_sub_elem(panel, "image", name, HUD_elem)
|
||||
for subname, HUD_elem in pairs(def.sub_img_elems) do
|
||||
add_sub_elem(panel, "image", subname, HUD_elem)
|
||||
end
|
||||
end
|
||||
|
||||
if def.sub_txt_elems then
|
||||
for name, HUD_elem in pairs(def.sub_txt_elems) do
|
||||
add_sub_elem(panel, "text", name, HUD_elem)
|
||||
for subname, HUD_elem in pairs(def.sub_txt_elems) do
|
||||
add_sub_elem(panel, "text", subname, HUD_elem)
|
||||
end
|
||||
end
|
||||
|
||||
@ -157,7 +167,7 @@ function Panel:show()
|
||||
player:hud_change(self.hud_id[name], "text", self.hud_text[name])
|
||||
end
|
||||
|
||||
self.is_shown = true
|
||||
self.visible = true
|
||||
end
|
||||
|
||||
|
||||
@ -172,7 +182,7 @@ function Panel:hide()
|
||||
end
|
||||
end
|
||||
|
||||
self.is_shown = false
|
||||
self.visible = false
|
||||
end
|
||||
|
||||
|
||||
@ -197,7 +207,7 @@ function Panel:update(def, txt_elems, img_elems)
|
||||
self.hud_text[elem] = v
|
||||
end
|
||||
|
||||
if self.is_shown == true then
|
||||
if self.visible == true then
|
||||
player:hud_change(self.hud_id[elem], k, v)
|
||||
end
|
||||
end
|
||||
@ -215,7 +225,7 @@ function Panel:update(def, txt_elems, img_elems)
|
||||
self.hud_text[elem] = v
|
||||
end
|
||||
|
||||
if self.is_shown == true then
|
||||
if self.visible == true then
|
||||
player:hud_change(self.hud_id[elem], k, v)
|
||||
end
|
||||
end
|
||||
@ -240,8 +250,8 @@ end
|
||||
|
||||
|
||||
|
||||
function Panel:is_shown()
|
||||
return self.is_shown
|
||||
function Panel:is_visible()
|
||||
return self.visible
|
||||
end
|
||||
|
||||
|
||||
@ -256,7 +266,7 @@ function Panel:remove_sub_elem(name)
|
||||
self.sub_txt_elems[name] = nil
|
||||
self.sub_img_elems[name] = nil
|
||||
|
||||
if self.is_shown then
|
||||
if self.visible then
|
||||
minetest.get_player_by_name(self.player_name):hud_remove(self.hud_id[name])
|
||||
end
|
||||
self.hud_id[name] = nil
|
||||
@ -335,8 +345,22 @@ function add_sub_elem(panel, type, name, HUD_elem)
|
||||
panel[name].position = mould.position
|
||||
|
||||
-- mostro l'elemento se il pannello era già visibile
|
||||
panel[name].text = panel.is_shown and panel[name].text or ""
|
||||
panel[name].text = panel.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
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
----------------------------------------------
|
||||
------------------DEPRECATED------------------
|
||||
----------------------------------------------
|
||||
|
||||
-- to remove in 3.0
|
||||
function Panel:is_shown()
|
||||
minetest.log("warning", "[PANEL_LIB] `is_shown()` is deprecated. Use `is_visible()` instead")
|
||||
return self:is_visible()
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user