diff --git a/assets/core/networking/scripts/NetworkManager.gd b/assets/core/networking/scripts/NetworkManager.gd index ed6b6ac..6e4eb47 100644 --- a/assets/core/networking/scripts/NetworkManager.gd +++ b/assets/core/networking/scripts/NetworkManager.gd @@ -365,24 +365,20 @@ func start_game(): var packet_data = {"message":"start_game"} send_p2p_packet(0, packet_data) _on_game_started() - + func _on_game_started(): print("Game started.") var level: Node = level_scene.instantiate() get_tree().root.add_child(level) on_game_started.emit() - - + for member in lobby_members: var player: Player = player_scene.instantiate() player.name = "Player_" + str(member["steam_id"]) + player.steam_id = member["steam_id"] player.username = Steam.getFriendPersonaName(member["steam_id"]) level.add_child(player) - if member["steam_id"] == steam_id: - player.is_network_authority = true - else: - player.is_network_authority = false func sync_property(node_id: String, property_name: String, value: Variant): diff --git a/assets/core/player-controller/scripts/player.gd b/assets/core/player-controller/scripts/player.gd index b9e220d..4162a35 100644 --- a/assets/core/player-controller/scripts/player.gd +++ b/assets/core/player-controller/scripts/player.gd @@ -6,6 +6,7 @@ var is_piloting: bool = false var is_network_authority: bool = false var network_uuid: String = "" +var steam_id: int = 0 @export_category("Player") @export_range(1, 35, 1) var speed: float = 5 # m/s @@ -33,7 +34,10 @@ var previous_global_rotation: Vector3 func _ready() -> void: NetworkManager.property_update_received.connect(_on_property_update) - network_uuid = NetworkManager.register_node(self) + NetworkManager.register_node(self) + + if steam_id == NetworkManager.steam_id: + is_network_authority = true func _enter_tree() -> void: player_tag = get_node("PlayerTag")