aboutsummaryrefslogtreecommitdiff
path: root/client/map/tiles/floor.gd
diff options
context:
space:
mode:
authornokoe <nokoe@mailbox.org>2024-06-25 15:20:33 +0200
committernokoe <nokoe@mailbox.org>2024-06-25 15:20:33 +0200
commit4c6b38bb85d5211df01ee4f9e14a613dbe21be6d (patch)
treed8b580d4270cad640e2242c51b94330e5fe7fb67 /client/map/tiles/floor.gd
parentde1771c6cdea53d03f9466491c375d8aa1e19f0c (diff)
downloadhurrycurry-4c6b38bb85d5211df01ee4f9e14a613dbe21be6d.tar
hurrycurry-4c6b38bb85d5211df01ee4f9e14a613dbe21be6d.tar.bz2
hurrycurry-4c6b38bb85d5211df01ee4f9e14a613dbe21be6d.tar.zst
add exterior
Diffstat (limited to 'client/map/tiles/floor.gd')
-rw-r--r--client/map/tiles/floor.gd60
1 files changed, 2 insertions, 58 deletions
diff --git a/client/map/tiles/floor.gd b/client/map/tiles/floor.gd
index c5089feb..6a158c67 100644
--- a/client/map/tiles/floor.gd
+++ b/client/map/tiles/floor.gd
@@ -14,66 +14,10 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
class_name Floor
-extends Node3D
-
-var base = Node3D.new()
-var item: Item = null
-var item_base: Node3D
-
-enum Facing {
- NEG_Y = 0,
- NEG_X = 1,
- Y = 2,
- X = 3,
-}
+extends Tile
func _init(rename: String, _neighbors: Array):
+ super(rename, _neighbors)
var floor_tile = load("res://map/tiles/floor.tscn").instantiate()
floor_tile.position += Vector3(0.5, 0, 0.5)
add_child(floor_tile)
- base.name = "Base"
- base.position += Vector3(0.5, 0, 0.5)
- add_child(base)
- self.name = rename
- var item_base_ = Node3D.new()
- # this method is supposed to be overriden
- @warning_ignore("static_called_on_instance")
- item_base_.position = interact_target()
- item_base_.name = "ItemBase"
- base.add_child(item_base_)
- item_base = item_base_
-
-func turn_facing(facing: Facing):
- base.rotate_y(facing * 0.5 * PI + PI)
-
-# defines where items go when interacting
-static func interact_target() -> Vector3:
- return Vector3(0, 0, 0)
-
-# actions when interacting, e.g. animations
-func interact():
- pass
-
-func progress(p: float, warn: bool):
- if item != null:
- item.progress(p, warn)
-
-func finish(warn: bool):
- if item != null:
- item.finish(warn)
-
-func put_item(i: Item):
- if item != null:
- push_error("already holding an item")
- set_item(i)
-
-func set_item(i: Item):
- if item != null:
- item.queue_free()
- item = i
- i.owned_by = item_base
-
-func take_item() -> Item:
- var i = item
- item = null
- return i