From 3f887a4e0ea45b3a6db424cab0a64e90291f93e0 Mon Sep 17 00:00:00 2001 From: Mario Steele Date: Sat, 28 Feb 2026 02:55:51 -0600 Subject: [PATCH] Created EventManager This will be a class to handle events, such as custom events implemented in GDScript/Chat Commands, as well as Twitch Events, such as Raids, Shoutouts, etc, etc. --- lib/event_manager.gd | 29 +++++++++++++++++++++++++++++ lib/event_manager.gd.uid | 1 + 2 files changed, 30 insertions(+) create mode 100644 lib/event_manager.gd create mode 100644 lib/event_manager.gd.uid diff --git a/lib/event_manager.gd b/lib/event_manager.gd new file mode 100644 index 00000000..276a2f48 --- /dev/null +++ b/lib/event_manager.gd @@ -0,0 +1,29 @@ +extends Node + +var ol: OverlayWindow + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + ol = get_tree().root.get_node("MainWin") + + +func test_notification(msg: String) -> void: + var lbl = Label.new() + lbl.label_settings = LabelSettings.new() + lbl.label_settings.font_size = 75 + lbl.label_settings.font_color = Color.DODGER_BLUE + lbl.text = msg + lbl.modulate.a = 0 + lbl.ready.connect(func() -> void: + var half: Vector2 = lbl.size / 2 + lbl.position = Vector2(get_tree().root.size / 2) - half + var tw := create_tween() + tw.tween_property(lbl, "modulate:a", 1.0, 0.5) + tw.tween_interval(2.5) + tw.parallel().tween_property(lbl, "position:y", get_tree().root.size.y + 10, 3.0) + tw.parallel().tween_property(lbl, "modulate:a", 0, 3.0) + await tw.finished + lbl.queue_free() + ) + add_child(lbl) diff --git a/lib/event_manager.gd.uid b/lib/event_manager.gd.uid new file mode 100644 index 00000000..88bcda49 --- /dev/null +++ b/lib/event_manager.gd.uid @@ -0,0 +1 @@ +uid://cvjhecj1me4xl