Improved UI event system

This commit is contained in:
2024-02-25 23:01:17 +01:00
parent 44fd041c60
commit 0a489e5d2f
16 changed files with 138 additions and 152 deletions

View File

@ -3,20 +3,14 @@ extends Node
static var focus: Control
signal chat_message_submitted(message: String)
@export var login: Signal
@export var logout: Signal
@export var ping_changed: Signal
@export var download_changed: Signal
@export var upload_changed: Signal
@export var message_received: Signal
var chat: Chat
var reconnect: Panel
var network: NetworkUI
func _enter_tree():
if get_node_or_null("/root/Main"):
return
connect_fake()
chat = %Chat
reconnect = %Reconnect
network = %Network
func _process(_delta):
var new_focus := get_viewport().gui_get_focus_owner()
@ -26,14 +20,6 @@ func _process(_delta):
else:
UI.focus = null
func connect_fake():
for property in get_property_list():
if property.type != TYPE_SIGNAL:
continue
add_user_signal(property.name)
set(property.name, Signal(self, property.name))
static func unfocus():
if UI.focus:
UI.focus.release_focus()