diff options
author | nokoe <nokoe@mailbox.org> | 2024-06-21 15:20:17 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-06-23 19:27:04 +0200 |
commit | d6a0899e9641c68b96463669bd655629eb430311 (patch) | |
tree | f51fbedad2a303035a414d446b4222b1d997fa6d /client/scripts/game.gd | |
parent | 68a671883983252edcc28fced0279eb37e6ba297 (diff) | |
download | hurrycurry-d6a0899e9641c68b96463669bd655629eb430311.tar hurrycurry-d6a0899e9641c68b96463669bd655629eb430311.tar.bz2 hurrycurry-d6a0899e9641c68b96463669bd655629eb430311.tar.zst |
multiplayer movement
Diffstat (limited to 'client/scripts/game.gd')
-rw-r--r-- | client/scripts/game.gd | 32 |
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) |