diff options
| author | nokoe <nokoe@mailbox.org> | 2024-06-22 21:43:35 +0200 | 
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2024-06-23 19:30:15 +0200 | 
| commit | e468cf085e0b23b3c5b359a672fccc6b8b7d4fc2 (patch) | |
| tree | afac68d560c2b02c5000b183921e2000b1d703d4 /client/scripts/tiles | |
| parent | 2c5ced9a026012ef8fe890ff006d261148ce70f1 (diff) | |
| download | hurrycurry-e468cf085e0b23b3c5b359a672fccc6b8b7d4fc2.tar hurrycurry-e468cf085e0b23b3c5b359a672fccc6b8b7d4fc2.tar.bz2 hurrycurry-e468cf085e0b23b3c5b359a672fccc6b8b7d4fc2.tar.zst | |
marker
Diffstat (limited to 'client/scripts/tiles')
| -rw-r--r-- | client/scripts/tiles/floor.gd | 27 | 
1 files changed, 27 insertions, 0 deletions
| diff --git a/client/scripts/tiles/floor.gd b/client/scripts/tiles/floor.gd index ba09d40b..0c4af8a0 100644 --- a/client/scripts/tiles/floor.gd +++ b/client/scripts/tiles/floor.gd @@ -2,6 +2,8 @@ class_name Floor  extends Node3D  var base = Node3D.new() +var item: Item = null +var item_base: Node3D  enum Facing {  	NEG_Y = 0, @@ -16,6 +18,11 @@ func _init(rename: String, _neighbors: Array):  	base.position += Vector3(0.5, 0, 0.5)  	add_child(base)  	self.name = rename +	var item_base_ = Node3D.new() +	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) @@ -24,3 +31,23 @@ func tile_name(idx):  	if idx == null:  		return null  	return Multiplayer.tile_names[idx] + + +# 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 put_item(i: Item): +	if item != null: +		push_error("already holding an item") +	item = i +	i.owned_by = item_base + +func take_item() -> Item: +	var i = item +	item = null +	return i | 
