diff options
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) | 
