diff options
| author | nokoe <nokoe@mailbox.org> | 2024-06-22 18:14:27 +0200 | 
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2024-06-23 19:28:50 +0200 | 
| commit | fbb81024ea206bfad1436e27f49175a815b010b7 (patch) | |
| tree | 4ec70f7862673f43f8718c47e2f60a78409c807a /client/scripts/multiplayer.gd | |
| parent | 05269b84133a3a91b5234fcc47f7135eb15e4b3e (diff) | |
| download | hurrycurry-fbb81024ea206bfad1436e27f49175a815b010b7.tar hurrycurry-fbb81024ea206bfad1436e27f49175a815b010b7.tar.bz2 hurrycurry-fbb81024ea206bfad1436e27f49175a815b010b7.tar.zst | |
update multiplayer, add take, put
Diffstat (limited to 'client/scripts/multiplayer.gd')
| -rw-r--r-- | client/scripts/multiplayer.gd | 36 | 
1 files changed, 26 insertions, 10 deletions
| diff --git a/client/scripts/multiplayer.gd b/client/scripts/multiplayer.gd index 6ac05699..3386d99b 100644 --- a/client/scripts/multiplayer.gd +++ b/client/scripts/multiplayer.gd @@ -8,6 +8,12 @@ signal item_message(player: int, item: int)  signal add_player(player: int, name: String, pos: Vector2, character: int)  signal remove_player(player: int)  signal position(player: int, position: Vector2, rotation: float) +signal take_item(tile: Vector2i, player: int) +signal put_item(tile: Vector2i, player: int) +signal set_tile_item(tile: Vector2i, item: int) +signal remove_tile_item(tile: Vector2i) +signal set_progress(tile: Vector2i, progress: float, warn: bool) +signal set_finished(tile: Vector2i, warn: bool)  var connected := false  var socket := WebSocketPeer.new() @@ -77,19 +83,26 @@ func handle_packet(bytes: PackedByteArray):  			var rot = decoded["rot"]  			emit_signal("position", id, pos_to_vec2(pos), rot)  		"take_item": -			var tile = decoded["tile"] +			var tile = pos_to_vec2i(decoded["tile"])  			var player_id = decoded["player"] +			emit_signal("take_item", tile, player_id)  		"put_item": -			var tile = decoded["tile"] +			var tile = pos_to_vec2i(decoded["tile"])  			var player_id = decoded["player"] -		"produce_item": -			var tile = decoded["tile"] -			var item = decoded["item"] -		"consume_item": -			var tile = decoded["tile"] -		"set_active": -			var tile = decoded["tile"] -			var progress = decoded["progress"] +			emit_signal("take_item", tile, player_id) +		"set_progress": +			var tile = pos_to_vec2i(decoded["tile"]) +			var warn = decoded["warn"] +			if decoded.has("progress"): +				emit_signal("set_progress", tile, decoded["progress"], warn) +			else: +				emit_signal("set_finished", tile, warn) +		"set_tile_item": +			var tile = pos_to_vec2i(decoded["tile"]) +			if decoded.has("item"): +				emit_signal("set_tile_item", tile, decoded["tile"]) +			else: +				emit_signal("remove_tile_name", tile)  		"update_map":  			var tile: int = decoded["tile"]  			var pos: Array = decoded["pos"] @@ -145,3 +158,6 @@ func decode_packet(bytes: PackedByteArray):  func pos_to_vec2(pos: Array) -> Vector2:  	return Vector2(pos[0], pos[1]) + +func pos_to_vec2i(pos: Array) -> Vector2i: +	return Vector2i(pos[0], pos[1]) | 
