summaryrefslogtreecommitdiff
path: root/player/player.gd
diff options
context:
space:
mode:
authorDaniel Weipert <git@mail.dweipert.de>2025-02-08 23:44:34 +0100
committerDaniel Weipert <git@mail.dweipert.de>2025-02-08 23:44:34 +0100
commitf6c81b065cf4d7f1302a50f2f72cfab32204a1ec (patch)
tree7690bae73a7bf54ed973a8c8480ba104d8ab413f /player/player.gd
parentd24180c58e9e1d6149f0ac41d4f4bbaf674bdbd3 (diff)
next commit
Diffstat (limited to 'player/player.gd')
-rw-r--r--player/player.gd44
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)