From c0825b3dc1f6a3e3ce466c4d8a37ca872612e5ed Mon Sep 17 00:00:00 2001 From: Nolan Darilek Date: Mon, 28 May 2018 16:48:02 +0000 Subject: [PATCH] Use a separate object to encapsulate the node to make accessible and its related callbacks. --- addons/accessibility/accessibility.gd | 10 ++-------- addons/accessibility/accessible.gd | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 addons/accessibility/accessible.gd diff --git a/addons/accessibility/accessibility.gd b/addons/accessibility/accessibility.gd index 3c36275..9e30764 100644 --- a/addons/accessibility/accessibility.gd +++ b/addons/accessibility/accessibility.gd @@ -1,17 +1,11 @@ tool extends EditorPlugin -func _focused(): - print("Focus entered.") - -func _gui_input(): - print("GUI input.") +var Accessible = preload("accessible.gd") func _augment_node(node): if node is Control: - node.connect("focus_entered", self, "_focused") - node.connect("mouse_entered", self, "_focused") - node.connect("gui_input", self, "_gui_input") + Accessible.new(node) func _enter_tree(): get_tree().connect("node_added", self, "_augment_node") diff --git a/addons/accessibility/accessible.gd b/addons/accessibility/accessible.gd new file mode 100644 index 0000000..74943ef --- /dev/null +++ b/addons/accessibility/accessible.gd @@ -0,0 +1,17 @@ +extends Object + +var node + +func _focused(): + print("Focus entered.") + +func _gui_input(): + print("GUI input.") + +func _init(node): + node.print_tree_pretty() + self.node = node + self.node.connect("focus_entered", self, "_focused") + self.node.connect("mouse_entered", self, "_focused") + self.node.connect("gui_input", self, "_gui_input") + self.node.connect("tree_exiting", self, "free")