StreamOverlay/lib/scripting/overlay_plugin.gd

41 lines
1.1 KiB
GDScript3
Raw Normal View History

@abstract
extends Node
class_name OverlayPlugin
#region Internal Variables
var _twitch: TwitcherExtended
#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_message(msg: String) -> void:
_twitch.send_message(msg)
func send_notification(message: String) -> void:
EventManager.test_notification(message)
func get_setting(sname: 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(sname):
return defval
return Globals.settings.script_storage[script_name][sname]
func set_setting(sname: 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][sname] = value