102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
# File 'lib/cyberarm_engine/ui/elements/container.rb', line 102
def hit_element?(x, y)
return unless hit?(x, y)
child_x = x - @scroll_position.x
child_y = y - @scroll_position.y
@children.reverse_each do |child|
next unless child.visible?
case child
when Container
if element = child.hit_element?(child_x, child_y)
return element
end
else
return child if child.hit?(child_x, child_y)
end
end
self if hit?(x, y)
end
|