mirror of
https://github.com/Insality/druid
synced 2025-06-27 10:27:48 +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
|
||||
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)
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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]
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user