mirror of
https://gitlab.com/open-fpsz/open-fpsz.git
synced 2026-07-13 15:34:53 +00:00
🩹 rename nickname to username
This commit is contained in:
parent
223aab2527
commit
a64383a511
5 changed files with 37 additions and 32 deletions
|
|
@ -1,22 +1,24 @@
|
|||
class_name MatchParticipantComponent extends MultiplayerSynchronizer
|
||||
|
||||
signal player_id_changed(new_player_id : int)
|
||||
signal nickname_changed(new_nickname : String)
|
||||
signal username_changed(new_username : String)
|
||||
|
||||
@export var nickname : String = "<Newblood>":
|
||||
@export var username : String = "<Newblood>":
|
||||
set(value):
|
||||
nickname = value
|
||||
nickname_changed.emit(nickname)
|
||||
username = value
|
||||
username_changed.emit(username)
|
||||
|
||||
@export var player_id : int:
|
||||
set(value):
|
||||
player_id = value
|
||||
player_id_changed.emit(player_id)
|
||||
|
||||
@export var team_id : int = 1
|
||||
|
||||
func _ready() -> void:
|
||||
func _enter_tree() -> void:
|
||||
root_path = "."
|
||||
replication_config = SceneReplicationConfig.new()
|
||||
for prop : String in ["player_id", "team_id", "nickname"]:
|
||||
for prop : String in ["player_id", "team_id", "username"]:
|
||||
var prop_path : NodePath = NodePath(prop).get_as_property_path()
|
||||
replication_config.add_property(prop_path)
|
||||
replication_config.property_set_replication_mode(
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ static var pawn_player : Player
|
|||
|
||||
func _ready() -> void:
|
||||
match_participant_component.player_id_changed.connect(_setup_pawn)
|
||||
match_participant_component.nickname_changed.connect(iff._on_username_changed)
|
||||
match_participant_component.username_changed.connect(iff._on_username_changed)
|
||||
match_participant_component.player_id_changed.connect(input.update_multiplayer_authority)
|
||||
|
||||
health_component.health_changed.connect(hud._on_health_changed)
|
||||
|
|
|
|||
|
|
@ -17,10 +17,10 @@ class_name Scoreboard extends Control
|
|||
@export var _entries : Dictionary = {}
|
||||
|
||||
class ScoreboardEntry:
|
||||
var nickname : String
|
||||
var username : String
|
||||
var kills : int
|
||||
var score : int
|
||||
var nickname_label : Label = Label.new()
|
||||
var username_label : Label = Label.new()
|
||||
var kills_label : Label = Label.new()
|
||||
var score_label : Label = Label.new()
|
||||
|
||||
|
|
@ -31,7 +31,7 @@ func _unhandled_input(event : InputEvent) -> void:
|
|||
hide()
|
||||
|
||||
func add_participant(participant : MatchParticipantComponent) -> void:
|
||||
_add_scoreboard_entry.rpc(participant.player_id, participant.nickname)
|
||||
_add_scoreboard_entry.rpc(participant.player_id, participant.username)
|
||||
|
||||
func remove_participant(participant : MatchParticipantComponent) -> void:
|
||||
_remove_scoreboard_entry.rpc(participant.player_id)
|
||||
|
|
@ -42,7 +42,7 @@ func increment_kill_count(participant : MatchParticipantComponent) -> void:
|
|||
func add_score_to_player(participant : MatchParticipantComponent, amount : int) -> void:
|
||||
var player_id : int = participant.player_id
|
||||
var entry : ScoreboardEntry = _entries[player_id]
|
||||
_update_scoreboard_entry.rpc(player_id, entry.nickname, entry.kills, entry.score + amount)
|
||||
_update_scoreboard_entry.rpc(player_id, entry.username, entry.kills, entry.score + amount)
|
||||
|
||||
@rpc("any_peer", "call_remote", "reliable")
|
||||
func request_scoreboard_from_authority() -> void:
|
||||
|
|
@ -50,21 +50,21 @@ func request_scoreboard_from_authority() -> void:
|
|||
var recipient_id : int = multiplayer.get_remote_sender_id()
|
||||
for entry_player_id : int in _entries:
|
||||
var entry : ScoreboardEntry = _entries[entry_player_id]
|
||||
_add_scoreboard_entry.rpc_id(recipient_id, entry_player_id, entry.nickname, entry.kills, entry.score)
|
||||
_add_scoreboard_entry.rpc_id(recipient_id, entry_player_id, entry.username, entry.kills, entry.score)
|
||||
|
||||
@rpc("authority", "call_local", "reliable")
|
||||
func _add_scoreboard_entry(player_id : int, nickname : String, kills : int = 0, score : int = 0) -> void:
|
||||
func _add_scoreboard_entry(player_id : int, username : String, kills : int = 0, score : int = 0) -> void:
|
||||
var new_entry : ScoreboardEntry = ScoreboardEntry.new()
|
||||
_entries[player_id] = new_entry
|
||||
%Scores.add_child(new_entry.nickname_label)
|
||||
%Scores.add_child(new_entry.username_label)
|
||||
%Scores.add_child(new_entry.kills_label)
|
||||
%Scores.add_child(new_entry.score_label)
|
||||
_update_scoreboard_entry(player_id, nickname, kills, score)
|
||||
_update_scoreboard_entry(player_id, username, kills, score)
|
||||
|
||||
@rpc("authority", "call_local", "reliable")
|
||||
func _update_scoreboard_entry(player_id : int, nickname : String, kills : int, score : int) -> void:
|
||||
func _update_scoreboard_entry(player_id : int, username : String, kills : int, score : int) -> void:
|
||||
var entry : ScoreboardEntry = _entries[player_id]
|
||||
entry.nickname = nickname
|
||||
entry.username = username
|
||||
entry.kills = kills
|
||||
entry.score = score
|
||||
_update_scoreboard_entry_ui(player_id)
|
||||
|
|
@ -72,13 +72,13 @@ func _update_scoreboard_entry(player_id : int, nickname : String, kills : int, s
|
|||
@rpc("authority", "call_local", "reliable")
|
||||
func _remove_scoreboard_entry(player_id : int) -> void:
|
||||
var entry : ScoreboardEntry = _entries[player_id]
|
||||
entry.nickname_label.queue_free()
|
||||
entry.username_label.queue_free()
|
||||
entry.kills_label.queue_free()
|
||||
entry.score_label.queue_free()
|
||||
_entries.erase(player_id)
|
||||
|
||||
func _update_scoreboard_entry_ui(player_id : int) -> void:
|
||||
var entry : ScoreboardEntry = _entries[player_id]
|
||||
entry.nickname_label.text = entry.nickname
|
||||
entry.username_label.text = entry.username
|
||||
entry.kills_label.text = str(entry.kills)
|
||||
entry.score_label.text = str(entry.score)
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ class_name Multiplayer extends Node
|
|||
signal connected_to_server
|
||||
signal connection_failed
|
||||
|
||||
func start_server(port : int, map_scene : PackedScene, nickname : String = "mercury") -> void:
|
||||
func start_server(port : int, map_scene : PackedScene, username : String = "mercury") -> void:
|
||||
# setup enet server peer
|
||||
var peer : ENetMultiplayerPeer = ENetMultiplayerPeer.new()
|
||||
peer.create_server(port, MAX_CLIENTS)
|
||||
|
|
@ -38,19 +38,19 @@ func start_server(port : int, map_scene : PackedScene, nickname : String = "merc
|
|||
_load_map(map_scene)
|
||||
|
||||
if DisplayServer.get_name() != "headless":
|
||||
add_player(1, nickname)
|
||||
add_player(1, username)
|
||||
|
||||
func join_server(host : String, port : int, nickname : String) -> void:
|
||||
func join_server(host : String, port : int, username : String) -> void:
|
||||
var peer : ENetMultiplayerPeer = ENetMultiplayerPeer.new()
|
||||
peer.create_client(host, port)
|
||||
multiplayer.connected_to_server.connect(_on_connected_to_server.bind(nickname))
|
||||
multiplayer.connected_to_server.connect(_on_connected_to_server.bind(username))
|
||||
multiplayer.connection_failed.connect(_on_connection_failed)
|
||||
multiplayer.multiplayer_peer = peer
|
||||
|
||||
func _on_connected_to_server(nickname : String) -> void:
|
||||
func _on_connected_to_server(username : String) -> void:
|
||||
connected_to_server.emit()
|
||||
scoreboard.request_scoreboard_from_authority.rpc()
|
||||
_join_match.rpc(nickname)
|
||||
_join_match.rpc(username)
|
||||
|
||||
func _on_connection_failed() -> void:
|
||||
connection_failed.emit()
|
||||
|
|
@ -63,14 +63,14 @@ func respawn_player(player : Player) -> void:
|
|||
var spawn_location : Vector3 = MapsManager.get_player_spawn().position
|
||||
player.respawn.rpc(spawn_location)
|
||||
|
||||
func add_player(peer_id : int, nickname : String) -> void:
|
||||
func add_player(peer_id : int, username : String) -> void:
|
||||
var player : Player = PLAYER.instantiate()
|
||||
player.name = str(peer_id)
|
||||
player.died.connect(_on_player_died)
|
||||
players.add_child(player)
|
||||
player.match_participant_component.player_id = peer_id
|
||||
player.match_participant_component.team_id = ($RabbitScoringComponent as RabbitScoringComponent)._team_chasers.team_id
|
||||
player.match_participant_component.nickname = nickname
|
||||
player.match_participant_component.username = username
|
||||
player.global_position = MapsManager.get_player_spawn().position
|
||||
$DeathmatchScoringComponent.subscribe_player(player)
|
||||
scoreboard.add_participant(player.match_participant_component)
|
||||
|
|
@ -100,10 +100,13 @@ func _add_flag() -> void:
|
|||
if flagstand:
|
||||
flag.global_position = flagstand.global_position
|
||||
|
||||
# This method notifies the server that a player wants to join the match. It
|
||||
# takes a single [param username] parameter and is invoked remotely by clients.
|
||||
@rpc("any_peer", "reliable")
|
||||
func _join_match(nickname : String) -> void:
|
||||
if is_multiplayer_authority():
|
||||
add_player(multiplayer.get_remote_sender_id(), nickname)
|
||||
func _join_match(username : String) -> void:
|
||||
if multiplayer.is_server():
|
||||
# add player to server with unique id and username
|
||||
add_player(multiplayer.get_remote_sender_id(), username)
|
||||
|
||||
func _exit_tree() -> void:
|
||||
# @NOTE: The `is_multiplayer_authority` method in `_exit_tree` push an error
|
||||
|
|
|
|||
|
|
@ -27,12 +27,12 @@ func test_that_new_scoreboard_is_empty() -> void:
|
|||
|
||||
func test_that_added_entry_is_added_correctly() -> void:
|
||||
var participant : MatchParticipantComponent = MatchParticipantComponent.new()
|
||||
participant.nickname = "test_nickname"
|
||||
participant.username = "test_username"
|
||||
_subject.add_participant(participant)
|
||||
var entries : Array = _subject._entries.values()
|
||||
assert_eq(1, entries.size())
|
||||
var tested_entry : Scoreboard.ScoreboardEntry = entries[0]
|
||||
assert_eq("test_nickname", tested_entry.nickname)
|
||||
assert_eq("test_username", tested_entry.username)
|
||||
assert_eq(0, tested_entry.kills)
|
||||
assert_eq(0, tested_entry.score)
|
||||
participant.free()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue