Interaction wheel

do interaction
This commit is contained in:
2024-03-01 14:39:48 -06:00
parent 50093e5937
commit abde90e75f
13 changed files with 216 additions and 90 deletions

View File

@@ -0,0 +1,13 @@
[gd_resource type="Resource" script_class="InteractionGather" load_steps=4 format=3 uid="uid://r4evto2nkehg"]
[ext_resource type="Texture2D" uid="uid://n806c03hgaq1" path="res://assets/scifi_tilesheet@2.png" id="1_cquks"]
[ext_resource type="Script" path="res://data/interactions/gather/interaction_gather.gd" id="2_4amum"]
[sub_resource type="AtlasTexture" id="AtlasTexture_jjmaq"]
atlas = ExtResource("1_cquks")
region = Rect2(1024, 512, 64, 64)
[resource]
script = ExtResource("2_4amum")
name = "Gather"
image = SubResource("AtlasTexture_jjmaq")

View File

@@ -0,0 +1,24 @@
extends Interaction
class_name InteractionGather
var interaction_display
var _pos
func interact_at(pos: Vector2i, root: Node) -> Array[Interaction]:
_pos = pos
print("Gathering at: %s" % pos)
interaction_display = ProgressBar.new()
interaction_display.position = Grid.grid_to_world_center(_pos) - Vector2(30, 10)
interaction_display.size = Vector2(60, 20)
interaction_display.show_percentage = false
var tween = root.create_tween()
tween.tween_property(interaction_display, "value", 100, 3)
tween.tween_callback(_cleanup_gather)
root.add_child(interaction_display)
return []
func _cleanup_gather() -> void:
interaction_display.queue_free()
var res: GameResource = Grid.get_location_data(_pos).get_resource()
res.gained_resource.emit(res)