diff options
Diffstat (limited to 'player/player.gd')
-rw-r--r-- | player/player.gd | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/player/player.gd b/player/player.gd new file mode 100644 index 0000000..28e9caa --- /dev/null +++ b/player/player.gd @@ -0,0 +1,44 @@ +class_name Player +extends Node + + +var id: int: + set(value): + id = value + name = str(value) + +var current_team_name: String +var current_move_points := 10 + + +func get_color() -> Color: + var rng = RandomNumberGenerator.new() + rng.seed = id + + return Color(rng.randf(), rng.randf(), rng.randf()) + + +func set_current_team_name(value: String) -> void: + sync_current_team_name.rpc(value) + +@rpc("any_peer", "call_local") +func sync_current_team_name(value: String) -> void: + current_team_name = value + + +func set_current_move_points(value: int) -> void: + sync_current_move_points.rpc(value) + +@rpc("any_peer", "call_local") +func sync_current_move_points(value: int) -> void: + current_move_points = value + + +func set_initial_values() -> void: + if not multiplayer.is_server(): + sync_initial_values.rpc_id(1, multiplayer.get_unique_id()) + +@rpc("any_peer", "call_remote") +func sync_initial_values(target_id: int) -> void: + sync_current_team_name.rpc_id(target_id, current_team_name) + sync_current_move_points.rpc_id(target_id, current_move_points) |