Interaction wheel
do interaction
This commit is contained in:
13
data/interactions/gather/gather.tres
Normal file
13
data/interactions/gather/gather.tres
Normal 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")
|
||||
24
data/interactions/gather/interaction_gather.gd
Normal file
24
data/interactions/gather/interaction_gather.gd
Normal 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)
|
||||
Reference in New Issue
Block a user