mirror of
https://github.com/Insality/druid.git
synced 2025-06-27 10:27:47 +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
|
||||
|
||||
|
||||
--- 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()
|
||||
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
|
||||
local component = components[i]
|
||||
-- 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
|
||||
is_input_consumed = component:on_input(action_id, action)
|
||||
else
|
||||
@ -113,7 +114,9 @@ local function process_input(action_id, action, components, is_input_consumed)
|
||||
|
||||
for i = #components, 1, -1 do
|
||||
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
|
||||
is_input_consumed = component:on_input(action_id, action)
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user