add more logging

This commit is contained in:
Teatov 2025-02-13 20:07:20 +10:00
parent 2867918c92
commit c1719d8dd5
5 changed files with 37 additions and 25 deletions

View File

@ -2,7 +2,7 @@ extends Node
func _ready() -> void:
Networker.main_loaded.connect(_on_networker_main_loaded)
Referencer.main_loaded.connect(_on_referencer_main_loaded)
func _input(event: InputEvent) -> void:
@ -13,5 +13,5 @@ func _input(event: InputEvent) -> void:
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
func _on_networker_main_loaded() -> void:
func _on_referencer_main_loaded() -> void:
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED

View File

@ -1,6 +1,5 @@
extends Node
signal main_loaded
signal network_error(message: String)
const DEFAULT_PORT: int = 10567
@ -41,9 +40,13 @@ func host_game(dedicated: bool = false) -> void:
if error:
match error:
ERR_ALREADY_IN_USE:
network_error.emit("Already in use")
var message := "Already in use"
printerr(message)
network_error.emit(message)
ERR_CANT_CREATE:
network_error.emit("Cannot create server")
var message := "Cannot create server"
printerr(message)
network_error.emit(message)
return
multiplayer.set_multiplayer_peer(_peer)
@ -63,9 +66,13 @@ func join_game(address: String) -> void:
if error:
match error:
ERR_ALREADY_IN_USE:
network_error.emit("Already in use")
var message := "Already in use"
printerr(message)
network_error.emit(message)
ERR_CANT_CREATE:
network_error.emit("Cannot create server")
var message := "Cannot create client"
printerr(message)
network_error.emit(message)
return
multiplayer.set_multiplayer_peer(_peer)
@ -80,23 +87,18 @@ func is_active() -> bool:
)
func format_player(peer_id: int) -> String:
return "[" + str(peer_id) + ": " + players[peer_id]["name"] + "]"
func _switch_scene(from: Node, to: PackedScene) -> void:
if from:
from.queue_free()
var new_scene := to.instantiate()
get_tree().get_root().add_child(new_scene)
print("Scene loaded")
print("Scene ", to, " loaded")
func _load_main() -> void:
print("Loading Main...")
_switch_scene($/root/Title, _main_scene)
main_loaded.emit()
func _add_player(peer_id: int) -> void:
@ -114,7 +116,7 @@ func _remove_player(peer_id: int) -> void:
if not multiplayer.is_server():
return
print("Removing player ", format_player(peer_id))
print("Removing player ", peer_id, " ", players[peer_id]["name"])
var player := Referencer.main.player_holder.get_node_or_null(str(peer_id))
if player:
player.queue_free()
@ -125,7 +127,7 @@ func _register_player(player_info: Dictionary) -> void:
var peer_id := multiplayer.get_remote_sender_id()
print("Registering player ", peer_id, " ", player_info)
if peer_id == 1 and !player_info["name"]:
print("Registered player's id is ", peer_id, " and name is empty, so skipping")
print("Skipping registering the host")
return
players[peer_id] = player_info
@ -137,25 +139,27 @@ func _on_multiplayer_peer_connected(peer_id: int) -> void:
func _on_multiplayer_peer_disconnected(peer_id: int) -> void:
print("Peer disconnected ", format_player(peer_id))
print("Peer disconnected ", peer_id, " ", players[peer_id]["name"])
_remove_player(peer_id)
players.erase(peer_id)
func _on_multiplayer_connected_to_server() -> void:
print("Connected to server")
var peer_id := multiplayer.get_unique_id()
print("Connected to server as ", peer_id)
players[peer_id] = _local_player_info
func _on_multiplayer_connection_failed() -> void:
printerr("Connection failed")
multiplayer.set_multiplayer_peer(null)
network_error.emit("Connection failed")
var message := "Connection failed"
printerr(message)
network_error.emit(message)
func _on_multiplayer_server_disconnected() -> void:
printerr("Server disconnected")
var message := "Server disconnected"
printerr(message)
players.clear()
_switch_scene($/root/Main, _title_scene)
network_error.emit("Server disconnected")
network_error.emit(message)

View File

@ -1,5 +1,11 @@
extends Node
signal main_loaded
var camera: Camera3D
var player: Player
var main: Main
var main: Main:
set(value):
if value:
main_loaded.emit()
main = value

View File

@ -6,9 +6,9 @@ extends Node
func _ready() -> void:
Referencer.main = self
player_spawner.spawned.connect(_on_player_spawner_spawned)
player_spawner.despawned.connect(_on_player_spawner_despawned)
Referencer.main = self
func _exit_tree() -> void:

View File

@ -28,10 +28,12 @@ var _default_camera_height: float
func _enter_tree() -> void:
_peer_id = str(name).to_int()
print("Player ", _peer_id, " enter tree")
set_multiplayer_authority(_peer_id)
func _ready() -> void:
print("Player ", _peer_id, " ready")
_name_label.text = str(name)
print(str(name), Networker.players)
if not is_multiplayer_authority():
@ -42,16 +44,16 @@ func _ready() -> void:
_camera.make_current()
Referencer.player = self
Referencer.camera = _camera
print("Player ", Networker.format_player(_peer_id), " ready")
print("Player ", _peer_id, " ready local")
func _exit_tree() -> void:
print("Player ", _peer_id, " exit tree")
if Networker.is_active() and not is_multiplayer_authority():
return
Referencer.player = null
Referencer.camera = null
print("Player ", Networker.format_player(_peer_id), " exiting tree")
func _process(delta: float) -> void: