aboutsummaryrefslogtreecommitdiff
path: root/client/scripts/game.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/scripts/game.gd')
-rw-r--r--client/scripts/game.gd32
1 files changed, 32 insertions, 0 deletions
diff --git a/client/scripts/game.gd b/client/scripts/game.gd
new file mode 100644
index 00000000..7c9b4bc2
--- /dev/null
+++ b/client/scripts/game.gd
@@ -0,0 +1,32 @@
+extends Node3D
+
+@onready var camera: FollowCamera = $FollowCamera
+@onready var map: Node3D = $Map
+
+var players := {}
+# Called when the node enters the scene tree for the first time.
+func _ready():
+ await Multiplayer.init
+ if Multiplayer.player_id == -1:
+ push_error("multiplayer has not been initialized")
+ Multiplayer.connect("add_player",
+ func(player: int, name: String, pos: Vector2, character: int):
+ var player_instance: Player
+ if player == Multiplayer.player_id:
+ player_instance = ControllablePlayer.new(player, name, pos, character)
+ player_instance.camera = camera
+ player_instance.map = map
+ camera.target = player_instance
+ else:
+ player_instance = Player.new(player, name, pos, character)
+ players[player] = player_instance
+ add_child(player_instance)
+ )
+
+ Multiplayer.connect("position",
+ func(player: int, position: Vector2, rotation: float):
+ var player_instance: Player = players[player]
+ player_instance.update_position(position, rotation)
+ )
+
+ Multiplayer.send_join("Blub", 1)