mirror of
https://github.com/Insality/druid.git
synced 2025-06-27 18:37:44 +02:00
Add set_input_state for component to enable/disable input
This commit is contained in:
parent
71b393b2c2
commit
3c32a5f75e
@ -150,6 +150,22 @@ function Component:get_name()
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--- Set component input state. By default it enabled
|
||||||
|
-- You can disable any input of component by this function
|
||||||
|
-- @function component:set_input_enabled
|
||||||
|
-- @tparam bool state The component input state
|
||||||
|
-- @treturn Component Component itself
|
||||||
|
function Component:set_input_enabled(state)
|
||||||
|
self._meta.input_enabled = state
|
||||||
|
|
||||||
|
for index = 1, #self._meta.children do
|
||||||
|
self._meta.children[index]:set_input_enabled(state)
|
||||||
|
end
|
||||||
|
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
function Component:get_parent_component()
|
function Component:get_parent_component()
|
||||||
local context = self:get_context()
|
local context = self:get_context()
|
||||||
|
|
||||||
|
@ -100,7 +100,8 @@ local function process_input(action_id, action, components, is_input_consumed)
|
|||||||
for i = #components, 1, -1 do
|
for i = #components, 1, -1 do
|
||||||
local component = components[i]
|
local component = components[i]
|
||||||
-- Process increased input priority first
|
-- Process increased input priority first
|
||||||
if component._meta.increased_input_priority then
|
local meta = component._meta
|
||||||
|
if meta.input_enabled and meta.increased_input_priority then
|
||||||
if not is_input_consumed then
|
if not is_input_consumed then
|
||||||
is_input_consumed = component:on_input(action_id, action)
|
is_input_consumed = component:on_input(action_id, action)
|
||||||
else
|
else
|
||||||
@ -113,7 +114,9 @@ local function process_input(action_id, action, components, is_input_consumed)
|
|||||||
|
|
||||||
for i = #components, 1, -1 do
|
for i = #components, 1, -1 do
|
||||||
local component = components[i]
|
local component = components[i]
|
||||||
if not component._meta.increased_input_priority then
|
-- Process usual input priority next
|
||||||
|
local meta = component._meta
|
||||||
|
if meta.input_enabled and not meta.increased_input_priority then
|
||||||
if not is_input_consumed then
|
if not is_input_consumed then
|
||||||
is_input_consumed = component:on_input(action_id, action)
|
is_input_consumed = component:on_input(action_id, action)
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user