2024-01-14 12:22:14 +01:00
|
|
|
extends Node
|
|
|
|
|
2024-02-25 19:47:13 +01:00
|
|
|
@export var ui: UI
|
2024-02-17 19:43:47 +01:00
|
|
|
|
|
|
|
func _ready():
|
2024-02-18 18:30:52 +01:00
|
|
|
pause(true)
|
2024-02-27 23:21:44 +01:00
|
|
|
connect_events()
|
|
|
|
start()
|
2024-02-18 18:30:52 +01:00
|
|
|
|
2024-02-27 23:21:44 +01:00
|
|
|
func _input(event: InputEvent):
|
|
|
|
if event.is_action_pressed("toggle_fullscreen"):
|
|
|
|
WindowManager.toggle_fullscreen(get_window())
|
|
|
|
get_viewport().set_input_as_handled()
|
2024-02-25 23:01:17 +01:00
|
|
|
|
|
|
|
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)
|
2024-02-28 21:44:24 +01:00
|
|
|
%Chat.message_received.connect(show_chat_bubble)
|
2024-02-27 23:21:44 +01:00
|
|
|
ui.chat.message_submitted.connect( %Chat.send_message)
|
|
|
|
|
|
|
|
func start():
|
|
|
|
var args := OS.get_cmdline_args()
|
|
|
|
var offline := args.has("--offline")
|
|
|
|
|
|
|
|
if offline:
|
|
|
|
start_offline()
|
|
|
|
else:
|
|
|
|
start_online()
|
2024-02-25 23:01:17 +01:00
|
|
|
|
|
|
|
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()
|
2024-01-29 12:32:06 +01:00
|
|
|
|
2024-02-28 21:44:24 +01:00
|
|
|
func show_chat_bubble(player: Player, message: String):
|
|
|
|
player.chat.show_message(message)
|
|
|
|
|
2024-02-27 23:21:44 +01:00
|
|
|
func pause(enabled: bool):
|
|
|
|
get_tree().paused = enabled
|
|
|
|
Audio.mute(enabled)
|
2024-01-29 12:32:06 +01:00
|
|
|
|
|
|
|
func on_login():
|
2024-02-27 23:21:44 +01:00
|
|
|
Log.info("Login succeeded.")
|
|
|
|
Log.info("ID: %s" % Global.account.id)
|
|
|
|
Log.info("Auth token: %s" % Global.account.auth_token)
|
2024-01-29 23:16:06 +01:00
|
|
|
|
2024-02-27 23:21:44 +01:00
|
|
|
#DisplayServer.window_set_position(Vector2((Global.instance_id % 2) * 960, (Global.instance_id / 2 % 2) * 540))
|
|
|
|
get_window().title = "%s - %s" % [Global.account.name, Global.account.id]
|
2024-01-29 23:16:06 +01:00
|
|
|
pause(false)
|
|
|
|
|
|
|
|
func on_logout():
|
2024-02-27 23:21:44 +01:00
|
|
|
Log.info("[%s] Logout." % Global.account.name)
|
|
|
|
pause(true)
|