diff options
author | nokoe <nokoe@mailbox.org> | 2024-06-25 18:30:24 +0200 |
---|---|---|
committer | nokoe <nokoe@mailbox.org> | 2024-06-25 18:30:24 +0200 |
commit | 652f2f53c05ce963553a053a6429d0259a56772b (patch) | |
tree | 51f4ff5fdd86e433cec23aa2bcb202fbfc25c102 | |
parent | 242bd8034bed95f1791316b65319a6f373a353e9 (diff) | |
download | hurrycurry-652f2f53c05ce963553a053a6429d0259a56772b.tar hurrycurry-652f2f53c05ce963553a053a6429d0259a56772b.tar.bz2 hurrycurry-652f2f53c05ce963553a053a6429d0259a56772b.tar.zst |
add windows
-rw-r--r-- | client/map/tile_factory.gd | 4 | ||||
-rw-r--r-- | client/map/tiles/counter_window.gd | 29 | ||||
-rw-r--r-- | client/map/tiles/counter_window.res | bin | 0 -> 5279 bytes | |||
-rw-r--r-- | client/map/tiles/counter_window.tscn | 10 | ||||
-rw-r--r-- | client/map/tiles/wall_tile.gd | 3 | ||||
-rw-r--r-- | data/map.yaml | 15 |
6 files changed, 52 insertions, 9 deletions
diff --git a/client/map/tile_factory.gd b/client/map/tile_factory.gd index 9869270d..a9fae032 100644 --- a/client/map/tile_factory.gd +++ b/client/map/tile_factory.gd @@ -46,7 +46,9 @@ static func produce(tile_name: String, node_name: String, neighbors: Array) -> T return Table.new(node_name, neighbors) "floor": return Floor.new(node_name, neighbors) - "window": + "counter-window": + return CounterWindow.new(node_name, neighbors) + "wall-window": return WallWindow.new(node_name, neighbors) "door": return Door.new(node_name, neighbors) diff --git a/client/map/tiles/counter_window.gd b/client/map/tiles/counter_window.gd new file mode 100644 index 00000000..233be1fc --- /dev/null +++ b/client/map/tiles/counter_window.gd @@ -0,0 +1,29 @@ +# Undercooked - a game about cooking +# Copyright 2024 nokoe +# +# 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 CounterWindow +extends WallTile + +static func interact_target() -> Vector3: + return Vector3(0, 0.625, 0) + +func _init(rename: String, neighbors: Array): + super(rename, neighbors) + match kind: + WallKind.STRAIGHT: + base.add_child(load("res://map/tiles/counter_window.tscn").instantiate()) + WallKind.OUTER_CORNER: + push_warning("There is no corner counter window!") + base.add_child(load("res://map/tiles/counter_window.tscn").instantiate()) diff --git a/client/map/tiles/counter_window.res b/client/map/tiles/counter_window.res Binary files differnew file mode 100644 index 00000000..2cb0f059 --- /dev/null +++ b/client/map/tiles/counter_window.res diff --git a/client/map/tiles/counter_window.tscn b/client/map/tiles/counter_window.tscn new file mode 100644 index 00000000..8ae5a54d --- /dev/null +++ b/client/map/tiles/counter_window.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=2 format=3 uid="uid://bwgkd65215m7e"] + +[ext_resource type="ArrayMesh" uid="uid://lywflqnpelc7" path="res://map/tiles/counter_window.res" id="1_gyddt"] + +[node name="CounterWindow" type="Node3D"] + +[node name="Mesh" type="MeshInstance3D" parent="."] +transform = Transform3D(-2.18557e-08, 0, 0.5, 0, 0.5, 0, -0.5, 0, -2.18557e-08, 0, 0, 0) +mesh = ExtResource("1_gyddt") +skeleton = NodePath("") diff --git a/client/map/tiles/wall_tile.gd b/client/map/tiles/wall_tile.gd index 08d3c080..b876990e 100644 --- a/client/map/tiles/wall_tile.gd +++ b/client/map/tiles/wall_tile.gd @@ -18,7 +18,8 @@ extends FullTile const WALLS: Array = [ "wall", - "window", + "wall-window", + "counter-window", "door" ] diff --git a/data/map.yaml b/data/map.yaml index 36378d1c..207a4f90 100644 --- a/data/map.yaml +++ b/data/map.yaml @@ -16,16 +16,16 @@ map: - "'''''*'''*'''''*'''*'''*'''*''*'" - "'''*''''*'*'**'''*''**''**''*'''" - - "''████████████████████████████*'" - - "''█ctc.ctc.ctc.ctc.ctc█⌷....s█**" + - "''██v███v███v███v███v███v██v██*'" + - "''vctc.ctc.ctc.ctc.ctc█⌷....sv**" - "''█.....c.............█⌷....s█''" - - "'*█c...c...████www██dd█⌷.⌷.⌷⌷█*'" + - "'*vc...c...████www██dd█⌷.⌷.⌷⌷v*'" - "*'█tc.ctc..█⌷.C...ff..d..⌷..H█''" - "''█c...c...█⌷.C.....~.d..⌷..R█'*" - - "*'█c.......w..⌷⌷⌷⌷⌷⌷⌷⌷█⌷.⌷..T█*'" + - "*'vc.......w..⌷⌷⌷⌷⌷⌷⌷⌷█⌷.⌷..Tv*'" - "'*█tc......w..........d..⌷..F█*'" - - "''█c.....ct█⌷S⌷S⌷S⌷⌷oo█⌷⌷⌷..X█*'" - - "*'████dd██████████████████████*'" + - "''vc.....ct█⌷S⌷S⌷S⌷⌷oo█⌷⌷⌷..Xv*'" + - "*'██v█dd█v███v██████v███v██v██*'" - "''''''__''''''''''''''''''''''''" - "*'''''___________________!______" - "''''''__________________________" @@ -35,7 +35,8 @@ tiles: "⌷": counter "f": counter "t": table - "w": window + "w": counter-window + "v": wall-window "s": sink "o": oven "S": stove |