From d08168627586316cb439a13cca6e5ad6f7000149 Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Fri, 16 Feb 2024 20:04:50 +0100 Subject: [PATCH] Reduced number of global variables --- client/Global.gd | 9 ++++----- client/Main.gd | 18 +++++++++--------- client/network/Chat.gd | 2 +- client/network/Login.gd | 12 ++++++------ client/network/Logout.gd | 4 ++-- client/network/PlayerAdd.gd | 6 +++--- client/network/PlayerRemove.gd | 2 +- client/network/shared/Account.gd | 9 +++------ 8 files changed, 29 insertions(+), 33 deletions(-) diff --git a/client/Global.gd b/client/Global.gd index e00980b..bb6fc6e 100644 --- a/client/Global.gd +++ b/client/Global.gd @@ -3,15 +3,14 @@ extends Node @export var environment: Environment @export var camera_attributes: CameraAttributesPractical +var account: Account var camera: Camera var player: Player var players: PlayerManager -var account_id: String -var auth_token: String -var interacting_with_ui: bool var instance_id: int -var username: String +var interacting_with_ui: bool func _enter_tree(): instance_id = OS.get_process_id() % 4 - username = "user%d" % instance_id \ No newline at end of file + account = Account.new() + account.name = "user%d" % instance_id diff --git a/client/Main.gd b/client/Main.gd index 8953b1f..aa3108a 100644 --- a/client/Main.gd +++ b/client/Main.gd @@ -10,10 +10,10 @@ func _ready(): var offline := args.has("--offline") if offline: - Global.username = "Local" - Global.account_id = "test" - Global.auth_token = "test" - Global.player = %PlayerAdd.spawn_player(Global.account_id) + Global.account.id = "test" + Global.account.name = "Local" + Global.account.auth_token = "test" + Global.player = %PlayerAdd.spawn_player(Global.account.id) %Login.success.emit() else: %Login.send_login() @@ -24,16 +24,16 @@ func _input(event): get_viewport().set_input_as_handled() func on_login(): - print("[%s] Login succeeded." % Global.username) - print("[%s] ID: %s" % [Global.username, Global.account_id]) - print("[%s] Auth token: %s" % [Global.username, Global.auth_token]) + print("[%s] Login succeeded." % Global.account.name) + print("[%s] ID: %s" % [Global.account.name, Global.account.id]) + print("[%s] Auth token: %s" % [Global.account.name, Global.account.auth_token]) - DisplayServer.window_set_title("%s - %s" % [Global.username, Global.account_id]) + DisplayServer.window_set_title("%s - %s" % [Global.account.name, Global.account.id]) DisplayServer.window_set_position(Vector2((Global.instance_id % 2) * 960, (Global.instance_id / 2 % 2) * 540)) pause(false) func on_logout(): - print("[%s] Logout." % Global.username) + print("[%s] Logout." % Global.account.name) pause(true) func pause(enabled: bool): diff --git a/client/network/Chat.gd b/client/network/Chat.gd index 0315f21..4d7111a 100644 --- a/client/network/Chat.gd +++ b/client/network/Chat.gd @@ -16,6 +16,6 @@ func handle_packet(data: PackedByteArray): var player := Global.players.get_player(player_id) var message := buffer.get_utf8_string() - print("[%s] %s: %s" % [Global.username, player.name, message]) + print("[%s] %s: %s" % [Global.account.name, player.name, message]) message_received.emit("[color=#808080]%s:[/color] %s" % [player.name, message]) \ No newline at end of file diff --git a/client/network/Login.gd b/client/network/Login.gd index d626b16..eac3065 100644 --- a/client/network/Login.gd +++ b/client/network/Login.gd @@ -9,12 +9,12 @@ func handle_packet(data: PackedByteArray): var error := buffer.get_8() if error != 0: - print("[%s] Login failed." % Global.username) + print("[%s] Login failed." % Global.account.name) failure.emit() return - Global.account_id = buffer.get_string() - Global.auth_token = buffer.get_string() + Global.account.id = buffer.get_string() + Global.account.auth_token = buffer.get_string() success.emit() @@ -25,9 +25,9 @@ func send_login(): var password := "password".sha256_text() var buffer := StreamPeerBuffer.new() buffer.put_u8(Packet.LOGIN) - buffer.put_data(JSON.stringify([Global.username, password]).to_utf8_buffer()) + buffer.put_data(JSON.stringify([Global.account.name, password]).to_utf8_buffer()) %Client.send(buffer.data_array) - print("[%s] Connecting..." % Global.username) + print("[%s] Connecting..." % Global.account.name) func is_logged_in() -> bool: - return Global.auth_token != "" \ No newline at end of file + return Global.account.auth_token != "" diff --git a/client/network/Logout.gd b/client/network/Logout.gd index c38208b..8a28e55 100644 --- a/client/network/Logout.gd +++ b/client/network/Logout.gd @@ -7,6 +7,6 @@ func handle_packet(_data: PackedByteArray): success.emit() func logout(): - Global.auth_token = "" - Global.account_id = "" + Global.account.id = "" + Global.account.auth_token = "" Global.player = null \ No newline at end of file diff --git a/client/network/PlayerAdd.gd b/client/network/PlayerAdd.gd index a38a726..ede0ea9 100644 --- a/client/network/PlayerAdd.gd +++ b/client/network/PlayerAdd.gd @@ -19,7 +19,7 @@ func handle_packet(data: PackedByteArray): server_position.y = buffer.get_float() server_position.z = buffer.get_float() - print("[%s] Add player: %s %s @ %v" % [Global.username, player_id, player_name, server_position]) + print("[%s] Add player: %s %s @ %v" % [Global.account.name, player_id, player_name, server_position]) var player := spawn_player(player_id) player.position = server_position @@ -31,7 +31,7 @@ func spawn_player(id: String) -> Player: if Global.players.has(id): player = Global.players.get_player(id) - if id == Global.account_id: + if id == Global.account.id: Global.player = player return player @@ -39,7 +39,7 @@ func spawn_player(id: String) -> Player: player = player_scene.instantiate() player.id = id - if id == Global.account_id: + if id == Global.account.id: player.controller = PlayerController.new(player) Global.player = player main_player_spawned.emit(player) diff --git a/client/network/PlayerRemove.gd b/client/network/PlayerRemove.gd index 0b3ffd2..53d2301 100644 --- a/client/network/PlayerRemove.gd +++ b/client/network/PlayerRemove.gd @@ -2,5 +2,5 @@ extends PacketHandler func handle_packet(data: PackedByteArray): var player_id := data.get_string_from_ascii() - print("[%s] Remove player: %s" % [Global.username, player_id]) + print("[%s] Remove player: %s" % [Global.account.name, player_id]) Global.players.remove(player_id) \ No newline at end of file diff --git a/client/network/shared/Account.gd b/client/network/shared/Account.gd index 8a7b4e4..9a31a2e 100644 --- a/client/network/shared/Account.gd +++ b/client/network/shared/Account.gd @@ -1,9 +1,6 @@ class_name Account -var username: String +var id: String +var name: String var password: String -var position: Vector3 - -func _init(name: String, pw: String): - username = name - password = pw \ No newline at end of file +var auth_token: String \ No newline at end of file