Move helper.get_node to component

This commit is contained in:
Insality 2020-02-07 01:17:43 +03:00
parent f65d5ce71c
commit 080035c301
12 changed files with 26 additions and 44 deletions

View File

@ -154,8 +154,8 @@ function M.init(self, template_name, node_table)
-- If component was cloned with gui.clone_tree, pass his nodes
self:set_nodes(node_table)
-- helper can get node from gui/template/table
local root = helper.node(self, SCHEME.ROOT)
-- Component can get node from gui/template/table
local root = self:get_node(self, SCHEME.ROOT)
-- This component can spawn another druid components:
local druid = self:get_druid(self)

View File

@ -9,7 +9,7 @@ local M = component.create("blocker", { const.ON_SWIPE })
function M.init(self, node)
self.node = helper.get_node(node)
self.node = self:get_node(node)
self.event = const.ACTION_TOUCH
end

View File

@ -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")
self.style = self:get_style()
self.node = helper.get_node(node)
self.node = self:get_node(node)
-- TODO: match event inside on_input?
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
self.scale_from = gui.get_scale(self.anim_node)
self.pos = gui.get_position(self.anim_node)
@ -144,7 +144,7 @@ end
-- @tparam table self Component instance
-- @tparam node zone Gui node
function M.set_click_zone(self, zone)
self.click_zone = helper.get_node(zone)
self.click_zone = self:get_node(zone)
end

View File

@ -1,7 +1,6 @@
--- Druid checkbox component
-- @module druid.checkbox
local helper = require("druid.helper")
local component = require("druid.component")
local M = component.create("checkbox")
@ -36,8 +35,8 @@ end
function M.init(self, node, callback, click_node)
self.style = self:get_style()
self.druid = self:get_druid()
self.node = helper.get_node(node)
self.click_node = helper.get_node(click_node)
self.node = self:get_node(node)
self.click_node = self:get_node(click_node)
self.callback = callback
self.button = self.druid:new_button(self.click_node or self.node, on_click)

View File

@ -2,20 +2,19 @@
-- Grid can anchor your elements, get content size and other
-- @module druid.grid
local helper = require("druid.helper")
local component = require("druid.component")
local M = component.create("grid")
function M.init(self, parent, element, in_row)
self.parent = helper.get_node(parent)
self.parent = self:get_node(parent)
self.nodes = {}
self.offset = vmath.vector3(0)
self.anchor = vmath.vector3(0.5, 0, 0)
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_offset = vmath.vector3(0)
end

View File

@ -21,7 +21,7 @@ function M.init(self, node, key, init_value)
self.key = key
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.size = gui.get_size(self.node)
self.max_size = self.size[self.key]

View File

@ -15,8 +15,8 @@ M.current_scroll = nil
function M.init(self, scroll_parent, input_zone, border)
self.style = self:get_style()
self.node = helper.get_node(scroll_parent)
self.input_zone = helper.get_node(input_zone)
self.node = self:get_node(scroll_parent)
self.input_zone = self:get_node(input_zone)
self.zone_size = gui.get_size(self.input_zone)
self.soft_size = self.style.SOFT_ZONE_SIZE

View File

@ -16,7 +16,7 @@ end
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.pos = gui.get_position(self.node)

View File

@ -3,14 +3,13 @@
-- @module druid.text
local const = require("druid.const")
local helper = require("druid.helper")
local component = require("druid.component")
local M = component.create("text")
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_pos = gui.get_position(self.node)

View File

@ -10,7 +10,7 @@ local M = component.create("timer", { const.ON_UPDATE })
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_to = math.max(seconds_to or 0, 0)
callback = callback or const.EMPTY_FUNCTION

View File

@ -114,6 +114,7 @@ function Component.get_node(self, node_or_name)
local nodes = self:get_nodes()
if nodes then
assert(type(node_or_name) == "strings", "You should pass node name instead of node")
return nodes[template_name .. node_or_name]
else
if type(node_or_name) == const.STRING then

View File

@ -82,31 +82,6 @@ function M.centrate_icon_with_text(icon_node, text_node, margin)
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)
if current < target then
return math.min(current + step, target)
@ -151,6 +126,11 @@ function M.round(num, numDecimalPlaces)
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)
local is_enabled = gui.is_enabled(node)
local parent = gui.get_parent(node)
@ -163,6 +143,10 @@ function M.is_enabled(node)
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)
return const.PIVOTS[pivot]
end