Improved UI event system
This commit is contained in:
@ -2,24 +2,41 @@ extends Node
|
||||
|
||||
@export var ui: UI
|
||||
|
||||
func _enter_tree():
|
||||
connect_main()
|
||||
connect_ui()
|
||||
|
||||
func _ready():
|
||||
connect_events()
|
||||
pause(true)
|
||||
|
||||
var args := OS.get_cmdline_args()
|
||||
var offline := args.has("--offline")
|
||||
|
||||
if offline:
|
||||
Global.account.id = "test"
|
||||
Global.account.name = "Local"
|
||||
Global.account.auth_token = "test"
|
||||
Global.player = %PlayerAdd.spawn_player(Global.account.id, Global.account.name, Vector3.ZERO)
|
||||
%Login.success.emit()
|
||||
start_offline()
|
||||
else:
|
||||
%Login.send_login()
|
||||
start_online()
|
||||
|
||||
func connect_events():
|
||||
%Login.success.connect(on_login)
|
||||
%Logout.success.connect(on_logout)
|
||||
|
||||
%Login.success.connect(ui.reconnect.hide)
|
||||
%Logout.success.connect(ui.reconnect.show)
|
||||
|
||||
%Ping.changed.connect(ui.network.set_ping)
|
||||
%Client.download_changed.connect(ui.network.set_download)
|
||||
%Client.upload_changed.connect(ui.network.set_upload)
|
||||
|
||||
%Chat.message_received.connect(ui.chat.add_message)
|
||||
ui.chat.message_submitted.connect(%Chat.send_message)
|
||||
|
||||
func start_offline():
|
||||
Global.account.id = "test"
|
||||
Global.account.name = "Local"
|
||||
Global.account.auth_token = "test"
|
||||
Global.player = %PlayerAdd.spawn_player(Global.account.id, Global.account.name, Vector3.ZERO)
|
||||
%Login.success.emit()
|
||||
|
||||
func start_online():
|
||||
%Login.send_login()
|
||||
|
||||
func _input(event):
|
||||
if event.is_action_pressed("toggle_fullscreen"):
|
||||
@ -47,19 +64,6 @@ func mute_audio(enabled: bool):
|
||||
var master_sound = AudioServer.get_bus_index("Master")
|
||||
AudioServer.set_bus_mute(master_sound, enabled)
|
||||
|
||||
func connect_main():
|
||||
%Login.success.connect(on_login)
|
||||
%Logout.success.connect(on_logout)
|
||||
|
||||
func connect_ui():
|
||||
ui.login = %Login.success
|
||||
ui.logout = %Logout.success
|
||||
ui.ping_changed = %Ping.changed
|
||||
ui.download_changed = %Client.download_changed
|
||||
ui.upload_changed = %Client.upload_changed
|
||||
ui.message_received = %Chat.message_received
|
||||
ui.chat_message_submitted.connect(%Chat.send_message)
|
||||
|
||||
func toggle_fullscreen():
|
||||
var mode = DisplayServer.window_get_mode()
|
||||
|
||||
@ -74,4 +78,4 @@ func center_window():
|
||||
var screen_center := DisplayServer.screen_get_position() + DisplayServer.screen_get_size() / 2
|
||||
var window := get_window()
|
||||
var window_size = window.get_size_with_decorations()
|
||||
window.set_position(screen_center - window_size / 2)
|
||||
window.set_position(screen_center - window_size / 2)
|
||||
|
Reference in New Issue
Block a user