mirror of
https://github.com/Insality/druid
synced 2025-06-27 18:37:45 +02:00
Move helper.get_node to component
This commit is contained in:
parent
f65d5ce71c
commit
080035c301
@ -154,8 +154,8 @@ function M.init(self, template_name, node_table)
|
|||||||
-- If component was cloned with gui.clone_tree, pass his nodes
|
-- If component was cloned with gui.clone_tree, pass his nodes
|
||||||
self:set_nodes(node_table)
|
self:set_nodes(node_table)
|
||||||
|
|
||||||
-- helper can get node from gui/template/table
|
-- Component can get node from gui/template/table
|
||||||
local root = helper.node(self, SCHEME.ROOT)
|
local root = self:get_node(self, SCHEME.ROOT)
|
||||||
|
|
||||||
-- This component can spawn another druid components:
|
-- This component can spawn another druid components:
|
||||||
local druid = self:get_druid(self)
|
local druid = self:get_druid(self)
|
||||||
|
@ -9,7 +9,7 @@ local M = component.create("blocker", { const.ON_SWIPE })
|
|||||||
|
|
||||||
|
|
||||||
function M.init(self, node)
|
function M.init(self, node)
|
||||||
self.node = helper.get_node(node)
|
self.node = self:get_node(node)
|
||||||
self.event = const.ACTION_TOUCH
|
self.event = const.ACTION_TOUCH
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -25,11 +25,11 @@ function M.init(self, node, callback, params, anim_node, event)
|
|||||||
assert(callback, "Button should have callback. To block input on zone use blocker component")
|
assert(callback, "Button should have callback. To block input on zone use blocker component")
|
||||||
|
|
||||||
self.style = self:get_style()
|
self.style = self:get_style()
|
||||||
self.node = helper.get_node(node)
|
self.node = self:get_node(node)
|
||||||
|
|
||||||
-- TODO: match event inside on_input?
|
-- TODO: match event inside on_input?
|
||||||
self.event = const.ACTION_TOUCH
|
self.event = const.ACTION_TOUCH
|
||||||
self.anim_node = anim_node and helper.get_node(anim_node) or self.node
|
self.anim_node = anim_node and helper:get_node(anim_node) or self.node
|
||||||
-- TODO: rename to start_scale
|
-- TODO: rename to start_scale
|
||||||
self.scale_from = gui.get_scale(self.anim_node)
|
self.scale_from = gui.get_scale(self.anim_node)
|
||||||
self.pos = gui.get_position(self.anim_node)
|
self.pos = gui.get_position(self.anim_node)
|
||||||
@ -144,7 +144,7 @@ end
|
|||||||
-- @tparam table self Component instance
|
-- @tparam table self Component instance
|
||||||
-- @tparam node zone Gui node
|
-- @tparam node zone Gui node
|
||||||
function M.set_click_zone(self, zone)
|
function M.set_click_zone(self, zone)
|
||||||
self.click_zone = helper.get_node(zone)
|
self.click_zone = self:get_node(zone)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
--- Druid checkbox component
|
--- Druid checkbox component
|
||||||
-- @module druid.checkbox
|
-- @module druid.checkbox
|
||||||
|
|
||||||
local helper = require("druid.helper")
|
|
||||||
local component = require("druid.component")
|
local component = require("druid.component")
|
||||||
|
|
||||||
local M = component.create("checkbox")
|
local M = component.create("checkbox")
|
||||||
@ -36,8 +35,8 @@ end
|
|||||||
function M.init(self, node, callback, click_node)
|
function M.init(self, node, callback, click_node)
|
||||||
self.style = self:get_style()
|
self.style = self:get_style()
|
||||||
self.druid = self:get_druid()
|
self.druid = self:get_druid()
|
||||||
self.node = helper.get_node(node)
|
self.node = self:get_node(node)
|
||||||
self.click_node = helper.get_node(click_node)
|
self.click_node = self:get_node(click_node)
|
||||||
self.callback = callback
|
self.callback = callback
|
||||||
|
|
||||||
self.button = self.druid:new_button(self.click_node or self.node, on_click)
|
self.button = self.druid:new_button(self.click_node or self.node, on_click)
|
||||||
|
@ -2,20 +2,19 @@
|
|||||||
-- Grid can anchor your elements, get content size and other
|
-- Grid can anchor your elements, get content size and other
|
||||||
-- @module druid.grid
|
-- @module druid.grid
|
||||||
|
|
||||||
local helper = require("druid.helper")
|
|
||||||
local component = require("druid.component")
|
local component = require("druid.component")
|
||||||
|
|
||||||
local M = component.create("grid")
|
local M = component.create("grid")
|
||||||
|
|
||||||
|
|
||||||
function M.init(self, parent, element, in_row)
|
function M.init(self, parent, element, in_row)
|
||||||
self.parent = helper.get_node(parent)
|
self.parent = self:get_node(parent)
|
||||||
self.nodes = {}
|
self.nodes = {}
|
||||||
|
|
||||||
self.offset = vmath.vector3(0)
|
self.offset = vmath.vector3(0)
|
||||||
self.anchor = vmath.vector3(0.5, 0, 0)
|
self.anchor = vmath.vector3(0.5, 0, 0)
|
||||||
self.in_row = in_row or 1
|
self.in_row = in_row or 1
|
||||||
self.node_size = gui.get_size(helper.get_node(element))
|
self.node_size = gui.get_size(self:get_node(element))
|
||||||
self.border = vmath.vector4(0)
|
self.border = vmath.vector4(0)
|
||||||
self.border_offset = vmath.vector3(0)
|
self.border_offset = vmath.vector3(0)
|
||||||
end
|
end
|
||||||
|
@ -21,7 +21,7 @@ function M.init(self, node, key, init_value)
|
|||||||
self.key = key
|
self.key = key
|
||||||
|
|
||||||
self.style = self:get_style()
|
self.style = self:get_style()
|
||||||
self.node = helper.get_node(node)
|
self.node = self:get_node(node)
|
||||||
self.scale = gui.get_scale(self.node)
|
self.scale = gui.get_scale(self.node)
|
||||||
self.size = gui.get_size(self.node)
|
self.size = gui.get_size(self.node)
|
||||||
self.max_size = self.size[self.key]
|
self.max_size = self.size[self.key]
|
||||||
|
@ -15,8 +15,8 @@ M.current_scroll = nil
|
|||||||
|
|
||||||
function M.init(self, scroll_parent, input_zone, border)
|
function M.init(self, scroll_parent, input_zone, border)
|
||||||
self.style = self:get_style()
|
self.style = self:get_style()
|
||||||
self.node = helper.get_node(scroll_parent)
|
self.node = self:get_node(scroll_parent)
|
||||||
self.input_zone = helper.get_node(input_zone)
|
self.input_zone = self:get_node(input_zone)
|
||||||
|
|
||||||
self.zone_size = gui.get_size(self.input_zone)
|
self.zone_size = gui.get_size(self.input_zone)
|
||||||
self.soft_size = self.style.SOFT_ZONE_SIZE
|
self.soft_size = self.style.SOFT_ZONE_SIZE
|
||||||
|
@ -16,7 +16,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
function M.init(self, node, end_pos, callback)
|
function M.init(self, node, end_pos, callback)
|
||||||
self.node = helper.get_node(node)
|
self.node = self:get_node(node)
|
||||||
|
|
||||||
self.start_pos = gui.get_position(self.node)
|
self.start_pos = gui.get_position(self.node)
|
||||||
self.pos = gui.get_position(self.node)
|
self.pos = gui.get_position(self.node)
|
||||||
|
@ -3,14 +3,13 @@
|
|||||||
-- @module druid.text
|
-- @module druid.text
|
||||||
|
|
||||||
local const = require("druid.const")
|
local const = require("druid.const")
|
||||||
local helper = require("druid.helper")
|
|
||||||
local component = require("druid.component")
|
local component = require("druid.component")
|
||||||
|
|
||||||
local M = component.create("text")
|
local M = component.create("text")
|
||||||
|
|
||||||
|
|
||||||
function M.init(self, node, value, no_adjust)
|
function M.init(self, node, value, no_adjust)
|
||||||
self.node = helper.get_node(node)
|
self.node = self:get_node(node)
|
||||||
self.start_pivot = gui.get_pivot(self.node)
|
self.start_pivot = gui.get_pivot(self.node)
|
||||||
|
|
||||||
self.start_pos = gui.get_position(self.node)
|
self.start_pos = gui.get_position(self.node)
|
||||||
|
@ -10,7 +10,7 @@ local M = component.create("timer", { const.ON_UPDATE })
|
|||||||
|
|
||||||
|
|
||||||
function M.init(self, node, seconds_from, seconds_to, callback)
|
function M.init(self, node, seconds_from, seconds_to, callback)
|
||||||
self.node = helper.get_node(node)
|
self.node = self:get_node(node)
|
||||||
seconds_from = math.max(seconds_from, 0)
|
seconds_from = math.max(seconds_from, 0)
|
||||||
seconds_to = math.max(seconds_to or 0, 0)
|
seconds_to = math.max(seconds_to or 0, 0)
|
||||||
callback = callback or const.EMPTY_FUNCTION
|
callback = callback or const.EMPTY_FUNCTION
|
||||||
|
@ -114,6 +114,7 @@ function Component.get_node(self, node_or_name)
|
|||||||
local nodes = self:get_nodes()
|
local nodes = self:get_nodes()
|
||||||
|
|
||||||
if nodes then
|
if nodes then
|
||||||
|
assert(type(node_or_name) == "strings", "You should pass node name instead of node")
|
||||||
return nodes[template_name .. node_or_name]
|
return nodes[template_name .. node_or_name]
|
||||||
else
|
else
|
||||||
if type(node_or_name) == const.STRING then
|
if type(node_or_name) == const.STRING then
|
||||||
|
@ -82,31 +82,6 @@ function M.centrate_icon_with_text(icon_node, text_node, margin)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function M.get_node(node_or_name)
|
|
||||||
if type(node_or_name) == const.STRING then
|
|
||||||
return gui.get_node(node_or_name)
|
|
||||||
end
|
|
||||||
|
|
||||||
return node_or_name
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
-- TODO: Определиться с get_node и node
|
|
||||||
-- get_node - берет ноду по ноде или строке
|
|
||||||
-- node - может брать ноду у компонента по схеме (если есть
|
|
||||||
-- template или таблица нод после gui.clone_tree)
|
|
||||||
function M.node(component, name)
|
|
||||||
local template_name = component._meta.template or const.EMPTY_STRING
|
|
||||||
local nodes = component._meta.nodes
|
|
||||||
|
|
||||||
if nodes then
|
|
||||||
return nodes[template_name .. name]
|
|
||||||
else
|
|
||||||
return gui.get_node(template_name .. name)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
function M.step(current, target, step)
|
function M.step(current, target, step)
|
||||||
if current < target then
|
if current < target then
|
||||||
return math.min(current + step, target)
|
return math.min(current + step, target)
|
||||||
@ -151,6 +126,11 @@ function M.round(num, numDecimalPlaces)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--- Check if node is enabled in gui hierarchy.
|
||||||
|
-- Return false, if node or any his parent is disabled
|
||||||
|
-- @function helper.is_enabled
|
||||||
|
-- @tparam node node Gui node
|
||||||
|
-- @treturn bool Is enabled in hierarchy
|
||||||
function M.is_enabled(node)
|
function M.is_enabled(node)
|
||||||
local is_enabled = gui.is_enabled(node)
|
local is_enabled = gui.is_enabled(node)
|
||||||
local parent = gui.get_parent(node)
|
local parent = gui.get_parent(node)
|
||||||
@ -163,6 +143,10 @@ function M.is_enabled(node)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--- Get node offset for given gui pivot
|
||||||
|
-- @function helper.get_pivot_offset
|
||||||
|
-- @tparam gui.pivot pivot The node pivot
|
||||||
|
-- @treturn vector3 Vector offset with [-1..1] values
|
||||||
function M.get_pivot_offset(pivot)
|
function M.get_pivot_offset(pivot)
|
||||||
return const.PIVOTS[pivot]
|
return const.PIVOTS[pivot]
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user