diff options
Diffstat (limited to 'client/scripts/game.gd')
| -rw-r--r-- | client/scripts/game.gd | 46 | 
1 files changed, 45 insertions, 1 deletions
| diff --git a/client/scripts/game.gd b/client/scripts/game.gd index 0403e7c4..f363c894 100644 --- a/client/scripts/game.gd +++ b/client/scripts/game.gd @@ -2,7 +2,9 @@ class_name Game  extends Node3D  @onready var camera: FollowCamera = $FollowCamera -@onready var map: Node3D = $Map +@onready var map: Map = $Map +@onready var marker: Node3D = $Marker +var marker_target = Vector3(0,0,0)  var players := {}  # Called when the node enters the scene tree for the first time. @@ -34,5 +36,47 @@ func _ready():  			players.erase(id)  			player.queue_free()  	) +	 +	Multiplayer.connect("set_tile_item", func(tile: Vector2i, item: int): +		var t: Floor = map.tile_by_pos[str(tile)] +		var i = Item.new(item, t.item_base) +		add_child(i) +		i.name = Multiplayer.item_names[item] +		t.put_item(i) +	) + +	Multiplayer.connect("remove_tile_item", func(tile: Vector2i): +		var t: Floor = map.tile_by_pos[str(tile)] +		t.take_item().queue_free() +	) + +	Multiplayer.connect("set_player_item", func(player: int, item: int): +		var p: Player = players[player] +		var i = Item.new(item, p.hand_base) +		add_child(i) +		i.name = Multiplayer.item_names[item] +		p.set_item(i) +	) + +	Multiplayer.connect("remove_player_item", func(player: int): +		var p: Player = players[player] +		p.remove_item().queue_free() +	) + +	Multiplayer.connect("take_item", func(tile: Vector2i, player: int): +		var t: Floor = map.tile_by_pos[str(tile)] +		var p: Player = players[player] +		p.take_item(t) +	) + +	Multiplayer.connect("put_item", func(tile: Vector2i, player: int): +		var t: FullTile = map.tile_by_pos[str(tile)] +		var p: Player = players[player] +		p.put_item(t) +	)  	Multiplayer.send_join("Blub", 1) + + +func _process(delta): +	marker.position = lerp(marker.position, marker_target, delta * 40.0) | 
