summaryrefslogtreecommitdiff
path: root/player
diff options
context:
space:
mode:
Diffstat (limited to 'player')
-rw-r--r--player/player.gd44
-rw-r--r--player/player.gd.uid1
-rw-r--r--player/player.tscn6
3 files changed, 51 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)
diff --git a/player/player.gd.uid b/player/player.gd.uid
new file mode 100644
index 0000000..a9b5dab
--- /dev/null
+++ b/player/player.gd.uid
@@ -0,0 +1 @@
+uid://682w1pah1vve
diff --git a/player/player.tscn b/player/player.tscn
new file mode 100644
index 0000000..f26e489
--- /dev/null
+++ b/player/player.tscn
@@ -0,0 +1,6 @@
+[gd_scene load_steps=2 format=3 uid="uid://b3hprbhw2cait"]
+
+[ext_resource type="Script" uid="uid://682w1pah1vve" path="res://player/player.gd" id="1_oul6g"]
+
+[node name="Player" type="Node"]
+script = ExtResource("1_oul6g")