From 580a4725dc12313db0aa5b0510675927ce78bb2d Mon Sep 17 00:00:00 2001 From: Mario Steele Date: Sat, 28 Feb 2026 02:54:06 -0600 Subject: [PATCH] Started work on OverlayPlugin Started work for OverlayPlugin, class to be inherited by all Plugin Scripts. --- lib/scripting/overlay_plugin.gd | 37 +++++++++++++++++++++++++++++ lib/scripting/overlay_plugin.gd.uid | 1 + 2 files changed, 38 insertions(+) create mode 100644 lib/scripting/overlay_plugin.gd create mode 100644 lib/scripting/overlay_plugin.gd.uid diff --git a/lib/scripting/overlay_plugin.gd b/lib/scripting/overlay_plugin.gd new file mode 100644 index 00000000..27d9d238 --- /dev/null +++ b/lib/scripting/overlay_plugin.gd @@ -0,0 +1,37 @@ +@abstract +extends Node +class_name OverlayPlugin + +#region Internal Variables +var _twitch: TwitcherExtended +var _obs: NoOBSWS +#endregion + +func _ready() -> void: + while not TwitcherExtended.instance: + await get_tree().process_frame + _twitch = TwitcherExtended.instance + +@abstract func run() -> void + +#region Internal Functions +func _get_script_name() -> String: + return self.get_script().get_global_name() +#endregion + +func send_notification(message: String) -> void: + EventManager.test_notification(message) + +func get_setting(name: String, defval: Variant) -> Variant: + var script_name := _get_script_name() + if not Globals.settings.script_storage.has(script_name): + return defval + if not Globals.settings.script_storage[script_name].has(name): + return defval + return Globals.settings.script_storage[script_name][name] + +func set_setting(name: String, value: Variant) -> void: + var script_name := _get_script_name() + if not Globals.settings.script_storage.has(script_name): + Globals.settings.script_storage[script_name] = {} + Globals.settings.script_storage[script_name][name] = value diff --git a/lib/scripting/overlay_plugin.gd.uid b/lib/scripting/overlay_plugin.gd.uid new file mode 100644 index 00000000..c9ca7f69 --- /dev/null +++ b/lib/scripting/overlay_plugin.gd.uid @@ -0,0 +1 @@ +uid://25ne8caohrgd