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_img_elems = {},
|
||||||
sub_txt_elems = {},
|
sub_txt_elems = {},
|
||||||
|
|
||||||
is_shown = false
|
visible = true
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -53,6 +52,11 @@ function Panel:new(name, def)
|
|||||||
def = clone_table(name)
|
def = clone_table(name)
|
||||||
name = def.name
|
name = def.name
|
||||||
end
|
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 -------------------^
|
--^------------------ LEGACY UPDATE, to remove in 3.0 -------------------^
|
||||||
|
|
||||||
if not name or type(name) ~= "string" then
|
if not name or type(name) ~= "string" then
|
||||||
@ -103,27 +107,33 @@ function Panel:new(name, def)
|
|||||||
panel.player_name = def.player
|
panel.player_name = def.player
|
||||||
end
|
end
|
||||||
|
|
||||||
local player = minetest.get_player_by_name(def.player)
|
panel.visible = def.visible
|
||||||
|
|
||||||
-- 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.hud_text.bg_hud_txt = panel.background_def.text
|
panel.hud_text.bg_hud_txt = panel.background_def.text
|
||||||
panel.hud_text.text_hud_txt = panel.title_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
|
-- controllo sottoelementi
|
||||||
if def.sub_img_elems then
|
if def.sub_img_elems then
|
||||||
for name, HUD_elem in pairs(def.sub_img_elems) do
|
for subname, HUD_elem in pairs(def.sub_img_elems) do
|
||||||
add_sub_elem(panel, "image", name, HUD_elem)
|
add_sub_elem(panel, "image", subname, HUD_elem)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if def.sub_txt_elems then
|
if def.sub_txt_elems then
|
||||||
for name, HUD_elem in pairs(def.sub_txt_elems) do
|
for subname, HUD_elem in pairs(def.sub_txt_elems) do
|
||||||
add_sub_elem(panel, "text", name, HUD_elem)
|
add_sub_elem(panel, "text", subname, HUD_elem)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -157,7 +167,7 @@ function Panel:show()
|
|||||||
player:hud_change(self.hud_id[name], "text", self.hud_text[name])
|
player:hud_change(self.hud_id[name], "text", self.hud_text[name])
|
||||||
end
|
end
|
||||||
|
|
||||||
self.is_shown = true
|
self.visible = true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -172,7 +182,7 @@ function Panel:hide()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
self.is_shown = false
|
self.visible = false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -197,7 +207,7 @@ function Panel:update(def, txt_elems, img_elems)
|
|||||||
self.hud_text[elem] = v
|
self.hud_text[elem] = v
|
||||||
end
|
end
|
||||||
|
|
||||||
if self.is_shown == true then
|
if self.visible == true then
|
||||||
player:hud_change(self.hud_id[elem], k, v)
|
player:hud_change(self.hud_id[elem], k, v)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -215,7 +225,7 @@ function Panel:update(def, txt_elems, img_elems)
|
|||||||
self.hud_text[elem] = v
|
self.hud_text[elem] = v
|
||||||
end
|
end
|
||||||
|
|
||||||
if self.is_shown == true then
|
if self.visible == true then
|
||||||
player:hud_change(self.hud_id[elem], k, v)
|
player:hud_change(self.hud_id[elem], k, v)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -240,8 +250,8 @@ end
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
function Panel:is_shown()
|
function Panel:is_visible()
|
||||||
return self.is_shown
|
return self.visible
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -256,7 +266,7 @@ function Panel:remove_sub_elem(name)
|
|||||||
self.sub_txt_elems[name] = nil
|
self.sub_txt_elems[name] = nil
|
||||||
self.sub_img_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])
|
minetest.get_player_by_name(self.player_name):hud_remove(self.hud_id[name])
|
||||||
end
|
end
|
||||||
self.hud_id[name] = nil
|
self.hud_id[name] = nil
|
||||||
@ -335,8 +345,22 @@ function add_sub_elem(panel, type, name, HUD_elem)
|
|||||||
panel[name].position = mould.position
|
panel[name].position = mould.position
|
||||||
|
|
||||||
-- mostro l'elemento se il pannello era già visibile
|
-- 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_id[name] = minetest.get_player_by_name(panel.player_name):hud_add(panel[name])
|
||||||
panel.hud_text[name] = HUD_elem.text
|
panel.hud_text[name] = HUD_elem.text
|
||||||
end
|
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