diff options
Diffstat (limited to 'client/map/map.gd')
| -rw-r--r-- | client/map/map.gd | 46 | 
1 files changed, 5 insertions, 41 deletions
| diff --git a/client/map/map.gd b/client/map/map.gd index a26da0fd..14e7698a 100644 --- a/client/map/map.gd +++ b/client/map/map.gd @@ -2,67 +2,31 @@  # Copyright 2024 nokoe  # Copyright 2024 tpart  # 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 Map  extends Node3D  var tile_by_pos: Dictionary = {}  func update(pos, tile_name, neighbors): -	var instance: Floor  	var node_name = str(pos)  	if has_node(node_name):  		queue_free_rename(get_node(node_name)) -	match tile_name: -		"trash": -			instance = Trash.new(node_name, neighbors) -		"tomato-crate": -			instance = TomatoCrate.new(node_name, neighbors) -		"cuttingboard": -			instance = CuttingBoard.new(node_name, neighbors) -		"counter": -			instance = CounterBase.new(node_name, neighbors) -		"flour-crate": -			instance = FlourCounter.new(node_name, neighbors) -		"oven": -			instance = Oven.new(node_name, neighbors) -		"raw-steak-crate": -			instance = RawSteakCrate.new(node_name, neighbors) -		"stove": -			instance = Stove.new(node_name, neighbors) -		"sink": -			instance = Sink.new(node_name, neighbors) -		"dirty-plate-crate": -			instance = CounterBase.new(node_name, neighbors) -		"wall": -			instance = Wall.new(node_name, neighbors) -		"chair": -			instance = Chair.new(node_name, neighbors) -		"table": -			instance = Table.new(node_name, neighbors) -		"floor": -			instance = Floor.new(node_name, neighbors) -		"window": -			instance = WallWindow.new(node_name, neighbors) -		"door": -			instance = Door.new(node_name, neighbors) -		var t: -			push_warning("tile tile %s unknown" % t) -			instance = GenericTile.new(node_name, neighbors, t) +	var instance: Floor = TileFactory.produce(tile_name, node_name, neighbors)  	instance.position = Vector3(pos[0], 0, pos[1])  	tile_by_pos[str(Vector2i(pos[0], pos[1]))] = instance | 
