From 981606ab2183df7fd36f7211cf6bc7ea7b084e0c Mon Sep 17 00:00:00 2001 From: Nolan Darilek Date: Tue, 24 Sep 2019 09:01:37 -0500 Subject: [PATCH] Refactor to support running both in the editor and in game UIs. Here I add a `ScreenReader` `Node` which, when added to the `SceneTree`, should read the contents of any supported `Control`. I also do a bit of cleanup on filenames, as well as breaking the editor plugin support into its own class. --- accessible.gd => Accessible.gd | 0 Plugin.gd | 12 ++++++++++++ accessibility.gd => ScreenReader.gd | 16 ++-------------- plugin.cfg | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) rename accessible.gd => Accessible.gd (100%) create mode 100644 Plugin.gd rename accessibility.gd => ScreenReader.gd (75%) diff --git a/accessible.gd b/Accessible.gd similarity index 100% rename from accessible.gd rename to Accessible.gd diff --git a/Plugin.gd b/Plugin.gd new file mode 100644 index 0000000..2452768 --- /dev/null +++ b/Plugin.gd @@ -0,0 +1,12 @@ +tool +extends EditorPlugin + +var ScreenReader = preload("ScreenReader.gd") + +var screen_reader + +func _enter_tree(): + screen_reader = ScreenReader.new() + get_tree().root.call_deferred("add_child", screen_reader) + call_deferred("connect", "scene_changed", screen_reader, "set_initial_scene_focus") + call_deferred("connect", "main_screen_changed", screen_reader, "set_initial_screen_focus") diff --git a/accessibility.gd b/ScreenReader.gd similarity index 75% rename from accessibility.gd rename to ScreenReader.gd index e81d733..1e675a7 100644 --- a/accessibility.gd +++ b/ScreenReader.gd @@ -1,7 +1,6 @@ -tool -extends EditorPlugin +extends Node -var Accessible = preload("accessible.gd") +var Accessible = preload("Accessible.gd") var TTS = preload("../godot-tts/TTS.gd") @@ -49,14 +48,3 @@ func set_initial_scene_focus(scene): func _enter_tree(): tts = TTS.new() get_tree().connect("node_added", self, "augment_tree") - connect("scene_changed", self, "set_initial_scene_focus") - connect("main_screen_changed", self, "set_initial_screen_focus") - -func _exit_tree(): - # Clean-up of the plugin goes here - pass - -func _notification(what): - # print("Notified: %s" % what) - if what == MainLoop.NOTIFICATION_WM_QUIT_REQUEST: - print("User requested the project to quit") diff --git a/plugin.cfg b/plugin.cfg index 2e32873..0022fe0 100644 --- a/plugin.cfg +++ b/plugin.cfg @@ -4,4 +4,4 @@ name="Accessibility" description="An accessibility layer for Godot." author="Nolan Darilek" version="0.1.0" -script="accessibility.gd" +script="Plugin.gd"