open-fpsz/entities/components/match_participant_component.gd
2024-05-07 14:21:10 +00:00

24 lines
790 B
GDScript

class_name MatchParticipantComponent extends MultiplayerSynchronizer
signal player_id_changed(new_player_id : int)
signal nickname_changed(new_nickname : String)
@export var nickname : String = "<Newblood>":
set(value):
nickname = value
nickname_changed.emit(nickname)
@export var player_id : int:
set(value):
player_id = value
player_id_changed.emit(player_id)
@export var team_id : int = 1
func _enter_tree() -> void:
root_path = "."
replication_config = SceneReplicationConfig.new()
for prop : String in ["player_id", "team_id", "nickname"]:
var prop_path : NodePath = NodePath(prop).get_as_property_path()
replication_config.add_property(prop_path)
replication_config.property_set_replication_mode(
prop_path, SceneReplicationConfig.REPLICATION_MODE_ON_CHANGE)