From eb5d1707336095acf227440c27c981e0d577fe0d Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Tue, 31 Jan 2023 14:33:17 -0600 Subject: [PATCH] Added #find_element_by_tag to Common module --- lib/cyberarm_engine/common.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/cyberarm_engine/common.rb b/lib/cyberarm_engine/common.rb index 133b82c..3532a61 100644 --- a/lib/cyberarm_engine/common.rb +++ b/lib/cyberarm_engine/common.rb @@ -31,6 +31,18 @@ module CyberarmEngine window.show_cursor = boolean end + def find_element_by_tag(container, tag, list = []) + return unless container + + container.children.each do |child| + list << child if child.style.tag == tag + + find_element_by_tag(child, tag, list) if child.is_a?(CyberarmEngine::Element::Container) + end + + list.first + end + def draw_rect(x, y, width, height, color, z = 0, mode = :default) Gosu.draw_rect(x, y, width, height, color, z, mode) end