diff options
Diffstat (limited to 'client/scripts/game.gd')
-rw-r--r-- | client/scripts/game.gd | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/client/scripts/game.gd b/client/scripts/game.gd deleted file mode 100644 index eb338eaa..00000000 --- a/client/scripts/game.gd +++ /dev/null @@ -1,110 +0,0 @@ -# Undercooked - a game about cooking -# Copyright 2024 nokoe -# Copyright 2024 metamuffin -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, version 3 of the License only. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. -# -class_name Game -extends Node3D - -@onready var camera: FollowCamera = $FollowCamera -@onready var map: Map = $Map -@onready var marker: Marker = $Marker -var marker_target = Vector3(0,0,0) - -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, player_name: String, pos: Vector2, character: int): - var player_instance: Player - if player == Multiplayer.player_id: - player_instance = ControllablePlayer.new(player, player_name, pos, character, self) - camera.target = player_instance - else: - player_instance = Player.new(player, player_name, pos, character, self) - players[player] = player_instance - add_child(player_instance) - ) - - Multiplayer.connect("position", - func(player: int, pos: Vector2, rot: float): - var player_instance: Player = players[player] - player_instance.update_position(pos, rot) - ) - - Multiplayer.connect("remove_player", func(id: int): - var player: Player = players.get(id) - if player != null: - if player.hand != null: - player.hand.queue_free() - 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.set_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.connect("set_progress", func(tile: Vector2i, progress: float, warn: bool): - var t: FullTile = map.tile_by_pos[str(tile)] - t.progress(progress, warn) - ) - - Multiplayer.connect("set_finished", func(tile: Vector2i, warn: bool): - var t: FullTile = map.tile_by_pos[str(tile)] - t.finish(warn) - ) - - Multiplayer.send_join("Blub", 1) - - -func _process(delta): - marker.position = lerp(marker.position, marker_target, delta * 40.0) |