40 lines
1.1 KiB
GDScript
40 lines
1.1 KiB
GDScript
@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
|