open-fpsz/entities/components/match_participant_component.gd
2024-04-27 18:02:16 -04:00

27 lines
940 B
GDScript

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