Added the item balloons to show on broken machines
This commit is contained in:
parent
5e857e478e
commit
002ffef1e8
BIN
assets/item_balloon/Balloon Border.material
Normal file
BIN
assets/item_balloon/Balloon Border.material
Normal file
Binary file not shown.
BIN
assets/item_balloon/Balloon White.material
Normal file
BIN
assets/item_balloon/Balloon White.material
Normal file
Binary file not shown.
BIN
assets/item_balloon/item_balloon.glb
Normal file
BIN
assets/item_balloon/item_balloon.glb
Normal file
Binary file not shown.
1065
assets/item_balloon/item_balloon.glb.import
Normal file
1065
assets/item_balloon/item_balloon.glb.import
Normal file
File diff suppressed because it is too large
Load Diff
@ -74,6 +74,11 @@ _global_script_classes=[ {
|
|||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
"path": "res://scripts/Interface.gd"
|
"path": "res://scripts/Interface.gd"
|
||||||
}, {
|
}, {
|
||||||
|
"base": "Spatial",
|
||||||
|
"class": "ItemBalloon",
|
||||||
|
"language": "GDScript",
|
||||||
|
"path": "res://scripts/item_balloon.gd"
|
||||||
|
}, {
|
||||||
"base": "Resource",
|
"base": "Resource",
|
||||||
"class": "ItemType",
|
"class": "ItemType",
|
||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
@ -108,6 +113,7 @@ _global_script_class_icons={
|
|||||||
"DialogicUtil": "",
|
"DialogicUtil": "",
|
||||||
"HistoryRow": "",
|
"HistoryRow": "",
|
||||||
"Interface": "",
|
"Interface": "",
|
||||||
|
"ItemBalloon": "",
|
||||||
"ItemType": "",
|
"ItemType": "",
|
||||||
"Recipe": "",
|
"Recipe": "",
|
||||||
"RecipeDB": "",
|
"RecipeDB": "",
|
||||||
|
@ -13,10 +13,7 @@ start_broken = true
|
|||||||
|
|
||||||
[node name="item_dump" parent="." instance=ExtResource( 1 )]
|
[node name="item_dump" parent="." instance=ExtResource( 1 )]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
item_type_0 = ExtResource( 4 )
|
items_required = [ ExtResource( 4 ), ExtResource( 5 ) ]
|
||||||
item_count_0 = 1
|
|
||||||
item_type_1 = ExtResource( 5 )
|
|
||||||
item_count_1 = 1
|
|
||||||
|
|
||||||
[node name="coin_machine" parent="." instance=ExtResource( 3 )]
|
[node name="coin_machine" parent="." instance=ExtResource( 3 )]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=8 format=2]
|
[gd_scene load_steps=7 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://scenes/item_holder.tscn" type="PackedScene" id=1]
|
[ext_resource path="res://scenes/item_holder.tscn" type="PackedScene" id=1]
|
||||||
[ext_resource path="res://scripts/crafting_station/crafting_station.gd" type="Script" id=2]
|
[ext_resource path="res://scripts/crafting_station/crafting_station.gd" type="Script" id=2]
|
||||||
@ -6,7 +6,6 @@
|
|||||||
[ext_resource path="res://scenes/item_dump.tscn" type="PackedScene" id=4]
|
[ext_resource path="res://scenes/item_dump.tscn" type="PackedScene" id=4]
|
||||||
[ext_resource path="res://scenes/status_light.tscn" type="PackedScene" id=5]
|
[ext_resource path="res://scenes/status_light.tscn" type="PackedScene" id=5]
|
||||||
[ext_resource path="res://item_types/crystal.tres" type="Resource" id=6]
|
[ext_resource path="res://item_types/crystal.tres" type="Resource" id=6]
|
||||||
[ext_resource path="res://item_types/ore.tres" type="Resource" id=7]
|
|
||||||
|
|
||||||
[node name="crafting_station" type="Spatial" groups=["damageable"]]
|
[node name="crafting_station" type="Spatial" groups=["damageable"]]
|
||||||
script = ExtResource( 2 )
|
script = ExtResource( 2 )
|
||||||
@ -29,8 +28,6 @@ one_shot = true
|
|||||||
[node name="item_dump" parent="." instance=ExtResource( 4 )]
|
[node name="item_dump" parent="." instance=ExtResource( 4 )]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.366242, 0, 0 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.366242, 0, 0 )
|
||||||
item_type_0 = ExtResource( 7 )
|
|
||||||
item_count_0 = 2
|
|
||||||
|
|
||||||
[node name="status_light" parent="." instance=ExtResource( 5 )]
|
[node name="status_light" parent="." instance=ExtResource( 5 )]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
@ -33,8 +33,7 @@ omni_attenuation = 0.933034
|
|||||||
|
|
||||||
[node name="item_dump" parent="." instance=ExtResource( 5 )]
|
[node name="item_dump" parent="." instance=ExtResource( 5 )]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
item_type_0 = ExtResource( 6 )
|
items_required = [ ExtResource( 6 ) ]
|
||||||
item_count_0 = 1
|
|
||||||
|
|
||||||
[connection signal="coin_requirement_met" from="coin_machine" to="." method="_on_coin_machine_coin_requirement_met"]
|
[connection signal="coin_requirement_met" from="coin_machine" to="." method="_on_coin_machine_coin_requirement_met"]
|
||||||
[connection signal="item_changed" from="item_holder" to="." method="_on_item_holder_item_changed"]
|
[connection signal="item_changed" from="item_holder" to="." method="_on_item_holder_item_changed"]
|
||||||
|
65
scenes/item_balloon.tscn
Normal file
65
scenes/item_balloon.tscn
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
[gd_scene load_steps=13 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://scripts/item_balloon.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://assets/item_balloon/item_balloon.glb" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://scenes/item.tscn" type="PackedScene" id=3]
|
||||||
|
[ext_resource path="res://item_types/ingot.tres" type="Resource" id=4]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id=1]
|
||||||
|
animation = "Balloon Bounce"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id=2]
|
||||||
|
animation = "Balloon Idle"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id=3]
|
||||||
|
animation = "Balloon Reset"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id=4]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id=5]
|
||||||
|
switch_mode = 2
|
||||||
|
auto_advance = true
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id=6]
|
||||||
|
switch_mode = 2
|
||||||
|
auto_advance = true
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachine" id=7]
|
||||||
|
states/bounce/node = SubResource( 1 )
|
||||||
|
states/bounce/position = Vector2( 653, 152.25 )
|
||||||
|
states/idle/node = SubResource( 2 )
|
||||||
|
states/idle/position = Vector2( 358, 151.875 )
|
||||||
|
states/reset/node = SubResource( 3 )
|
||||||
|
states/reset/position = Vector2( 495, 279.5 )
|
||||||
|
transitions = [ "idle", "bounce", SubResource( 4 ), "bounce", "reset", SubResource( 5 ), "reset", "idle", SubResource( 6 ) ]
|
||||||
|
start_node = "idle"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachinePlayback" id=8]
|
||||||
|
|
||||||
|
[node name="item_balloon" instance=ExtResource( 2 )]
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
|
[node name="ItemSpawn" type="BoneAttachment" parent="Armature/Skeleton" index="1"]
|
||||||
|
transform = Transform( -1, 0, -8.74228e-08, -8.96342e-08, 0, 1.0253, 0, 1, 0, 0, -0.013823, 0 )
|
||||||
|
bone_name = "Item"
|
||||||
|
|
||||||
|
[node name="attached_item" parent="Armature/Skeleton/ItemSpawn" index="0" instance=ExtResource( 3 )]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
transform = Transform( 1, 0, -2.37178e-09, 0, 1, 0, -2.37177e-09, 0, 1.02713, 1.6173e-08, 0, -0.184997 )
|
||||||
|
item_type = ExtResource( 4 )
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" parent="." index="1"]
|
||||||
|
autoplay = "Balloon Idle"
|
||||||
|
|
||||||
|
[node name="AnimationTree" type="AnimationTree" parent="." index="2"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
tree_root = SubResource( 7 )
|
||||||
|
anim_player = NodePath("../AnimationPlayer")
|
||||||
|
active = true
|
||||||
|
parameters/playback = SubResource( 8 )
|
||||||
|
|
||||||
|
[node name="bounce_timer" type="Timer" parent="." index="3"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[connection signal="timeout" from="bounce_timer" to="." method="_on_bounce_timer_timeout"]
|
@ -1,6 +1,7 @@
|
|||||||
[gd_scene load_steps=3 format=2]
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://scripts/item_dump.gd" type="Script" id=1]
|
[ext_resource path="res://scripts/item_dump.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://scenes/item_balloon.tscn" type="PackedScene" id=2]
|
||||||
|
|
||||||
[sub_resource type="BoxShape" id=1]
|
[sub_resource type="BoxShape" id=1]
|
||||||
|
|
||||||
@ -11,3 +12,22 @@ script = ExtResource( 1 )
|
|||||||
|
|
||||||
[node name="CollisionShape" type="CollisionShape" parent="."]
|
[node name="CollisionShape" type="CollisionShape" parent="."]
|
||||||
shape = SubResource( 1 )
|
shape = SubResource( 1 )
|
||||||
|
|
||||||
|
[node name="one_item" type="Spatial" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
transform = Transform( 0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 2.50434, 0 )
|
||||||
|
|
||||||
|
[node name="one_item_balloon" parent="one_item" instance=ExtResource( 2 )]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
|
||||||
|
[node name="two_item" type="Spatial" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
transform = Transform( 0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0.514625, 0 )
|
||||||
|
|
||||||
|
[node name="two_item_balloon1" parent="two_item" instance=ExtResource( 2 )]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
transform = Transform( 0.901009, -0.433801, 0, 0.433801, 0.901009, 0, 0, 0, 1, -1, 2.691, 0 )
|
||||||
|
|
||||||
|
[node name="two_item_balloon2" parent="two_item" instance=ExtResource( 2 )]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
transform = Transform( 0.901009, 0.433801, 0, -0.433801, 0.901009, 0, 0, 0, 1, 1, 2.691, 0 )
|
||||||
|
@ -28,8 +28,7 @@ one_shot = true
|
|||||||
|
|
||||||
[node name="item_dump" parent="." instance=ExtResource( 4 )]
|
[node name="item_dump" parent="." instance=ExtResource( 4 )]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
item_type_0 = ExtResource( 6 )
|
items_required = [ ExtResource( 6 ) ]
|
||||||
item_count_0 = 1
|
|
||||||
|
|
||||||
[node name="status_light" parent="." instance=ExtResource( 5 )]
|
[node name="status_light" parent="." instance=ExtResource( 5 )]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
@ -18,12 +18,9 @@ script = ExtResource( 2 )
|
|||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.621351, 0 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.621351, 0 )
|
||||||
|
|
||||||
[node name="item_dump" parent="." instance=ExtResource( 4 )]
|
[node name="item_dump" parent="." instance=ExtResource( 4 )]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.733121, 0 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.117529, 0 )
|
||||||
collision_mask = 0
|
collision_mask = 0
|
||||||
item_type_0 = ExtResource( 6 )
|
items_required = [ ExtResource( 7 ), ExtResource( 6 ) ]
|
||||||
item_count_0 = 1
|
|
||||||
item_type_1 = ExtResource( 7 )
|
|
||||||
item_count_1 = 1
|
|
||||||
|
|
||||||
[node name="item_holder" parent="." instance=ExtResource( 1 )]
|
[node name="item_holder" parent="." instance=ExtResource( 1 )]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
@ -509,13 +509,13 @@ xfade_time = 0.1
|
|||||||
states/idle/node = SubResource( 12 )
|
states/idle/node = SubResource( 12 )
|
||||||
states/idle/position = Vector2( 357, 120.556 )
|
states/idle/position = Vector2( 357, 120.556 )
|
||||||
states/run/node = SubResource( 13 )
|
states/run/node = SubResource( 13 )
|
||||||
states/run/position = Vector2( 589, 120.926 )
|
states/run/position = Vector2( 589, 120.491 )
|
||||||
transitions = [ "idle", "run", SubResource( 14 ), "run", "idle", SubResource( 15 ) ]
|
transitions = [ "idle", "run", SubResource( 14 ), "run", "idle", SubResource( 15 ) ]
|
||||||
start_node = "idle"
|
start_node = "idle"
|
||||||
graph_offset = Vector2( -363, -189 )
|
graph_offset = Vector2( -81, -148 )
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeBlendTree" id=9]
|
[sub_resource type="AnimationNodeBlendTree" id=9]
|
||||||
graph_offset = Vector2( -371.661, 122.494 )
|
graph_offset = Vector2( -415.444, 83.8956 )
|
||||||
nodes/Activate/node = SubResource( 22 )
|
nodes/Activate/node = SubResource( 22 )
|
||||||
nodes/Activate/position = Vector2( 373.333, 200 )
|
nodes/Activate/position = Vector2( 373.333, 200 )
|
||||||
nodes/Animation/node = SubResource( 10 )
|
nodes/Animation/node = SubResource( 10 )
|
||||||
@ -527,7 +527,7 @@ nodes/Blink/position = Vector2( 120, 200 )
|
|||||||
nodes/Move/node = SubResource( 16 )
|
nodes/Move/node = SubResource( 16 )
|
||||||
nodes/Move/position = Vector2( -146.667, 200 )
|
nodes/Move/position = Vector2( -146.667, 200 )
|
||||||
nodes/output/position = Vector2( 586.667, 200 )
|
nodes/output/position = Vector2( 586.667, 200 )
|
||||||
node_connections = [ "output", 0, "Activate", "Activate", 0, "Blink", "Activate", 1, "Animation 2", "Blink", 0, "Move", "Blink", 1, "Animation" ]
|
node_connections = [ "Blink", 0, "Move", "Blink", 1, "Animation", "Activate", 0, "Blink", "Activate", 1, "Animation 2", "output", 0, "Activate" ]
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=17]
|
[sub_resource type="AnimationNodeStateMachinePlayback" id=17]
|
||||||
|
|
||||||
@ -714,7 +714,7 @@ mesh = SubResource( 1 )
|
|||||||
skin = SubResource( 2 )
|
skin = SubResource( 2 )
|
||||||
|
|
||||||
[node name="head_bone" type="BoneAttachment" parent="model_transform/DungMan/Armature/Skeleton" index="1"]
|
[node name="head_bone" type="BoneAttachment" parent="model_transform/DungMan/Armature/Skeleton" index="1"]
|
||||||
transform = Transform( 1, -2.21304e-16, -1.10964e-17, 1.63982e-18, -0.0426856, 0.999088, -2.21576e-16, -0.999088, -0.0426856, -3.31142e-16, -0.0537476, -1.50833 )
|
transform = Transform( 1, -2.215e-16, -8.74829e-18, 1.05956e-18, -0.0346883, 0.999398, -2.21671e-16, -0.999398, -0.0346883, -3.32827e-16, -0.0101955, -1.49897 )
|
||||||
bone_name = "Item"
|
bone_name = "Item"
|
||||||
|
|
||||||
[node name="ItemSpawn" type="Spatial" parent="model_transform/DungMan/Armature/Skeleton/head_bone"]
|
[node name="ItemSpawn" type="Spatial" parent="model_transform/DungMan/Armature/Skeleton/head_bone"]
|
||||||
|
@ -24,11 +24,8 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.02357, 0.126143 )
|
|||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.26269, 0.778543, -0.31761 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.26269, 0.778543, -0.31761 )
|
||||||
|
|
||||||
[node name="item_dump" parent="." instance=ExtResource( 4 )]
|
[node name="item_dump" parent="." instance=ExtResource( 4 )]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 9.53674e-07, 0.993049, 0.0943546 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.86102e-06, 0.0492492, 0.709089 )
|
||||||
item_type_0 = ExtResource( 11 )
|
items_required = [ ExtResource( 5 ), ExtResource( 11 ) ]
|
||||||
item_count_0 = 1
|
|
||||||
item_type_1 = ExtResource( 5 )
|
|
||||||
item_count_1 = 1
|
|
||||||
|
|
||||||
[node name="game_canvas" type="CanvasLayer" parent="."]
|
[node name="game_canvas" type="CanvasLayer" parent="."]
|
||||||
layer = 0
|
layer = 0
|
||||||
|
35
scripts/item_balloon.gd
Normal file
35
scripts/item_balloon.gd
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
extends Spatial
|
||||||
|
|
||||||
|
class_name ItemBalloon
|
||||||
|
|
||||||
|
const ItemScene = preload("res://scenes/item.tscn")
|
||||||
|
|
||||||
|
onready var anim_tree : AnimationTree = $"%AnimationTree"
|
||||||
|
onready var bounce_timer : Timer = $"%bounce_timer"
|
||||||
|
onready var attached_item = $"%attached_item"
|
||||||
|
|
||||||
|
var anim_playback : AnimationNodeStateMachinePlayback = null
|
||||||
|
var is_bouncing : bool = false
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
anim_playback = anim_tree["parameters/playback"]
|
||||||
|
anim_playback.travel("idle")
|
||||||
|
bounce_timer.one_shot = true
|
||||||
|
|
||||||
|
func attach_item(item : Resource):
|
||||||
|
attached_item.set_item_type(item)
|
||||||
|
|
||||||
|
func bounce():
|
||||||
|
if is_bouncing:
|
||||||
|
return
|
||||||
|
is_bouncing = true
|
||||||
|
anim_playback.travel("bounce")
|
||||||
|
bounce_timer.start(anim_playback.get_current_length())
|
||||||
|
|
||||||
|
func _on_bounce_timer_timeout():
|
||||||
|
pass
|
||||||
|
# assert(is_bouncing)
|
||||||
|
# anim_playback.start("Balloon Reset")
|
||||||
|
# anim_playback.travel("Ballon Idle")
|
||||||
|
# is_bouncing = false
|
@ -2,51 +2,62 @@ extends Spatial
|
|||||||
signal item_dump_completed
|
signal item_dump_completed
|
||||||
signal item_dumped
|
signal item_dumped
|
||||||
|
|
||||||
# Godot is not configurable enough (without great pains)
|
|
||||||
# to make this look less dumb
|
|
||||||
export var item_type_0: Resource
|
|
||||||
export var item_count_0: int
|
|
||||||
export var item_type_1: Resource
|
|
||||||
export var item_count_1: int
|
|
||||||
export var item_type_2: Resource
|
|
||||||
export var item_count_2: int
|
|
||||||
|
|
||||||
var remaining := {}
|
|
||||||
export var enabled = true
|
export var enabled = true
|
||||||
|
export (Array,Resource) var items_required
|
||||||
|
|
||||||
|
onready var one_item_node : Spatial = $"%one_item"
|
||||||
|
onready var two_item_node : Spatial = $"%two_item"
|
||||||
|
|
||||||
|
onready var one_item_balloon : ItemBalloon = $"%one_item_balloon"
|
||||||
|
onready var two_item_balloon1 : ItemBalloon = $"%two_item_balloon1"
|
||||||
|
onready var two_item_balloon2 : ItemBalloon = $"%two_item_balloon2"
|
||||||
|
|
||||||
|
var items_remaining = []
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
assert(items_required.size() <= 2)
|
||||||
reset()
|
reset()
|
||||||
|
update_item_balloons()
|
||||||
|
|
||||||
func reset():
|
func reset():
|
||||||
remaining.clear()
|
items_remaining.clear()
|
||||||
if item_type_0 and item_count_0 > 0:
|
for item in items_required:
|
||||||
remaining[item_type_0] = item_count_0
|
assert(item != null)
|
||||||
if item_type_1 and item_count_1 > 0:
|
items_remaining.push_back(item)
|
||||||
remaining[item_type_1] = item_count_1
|
|
||||||
if item_type_2 and item_count_2 > 0:
|
|
||||||
remaining[item_type_2] = item_count_2
|
|
||||||
|
|
||||||
func on_player_interact(player) -> bool:
|
func on_player_interact(player) -> bool:
|
||||||
if not enabled:
|
if not enabled:
|
||||||
return false
|
return false
|
||||||
if remaining.empty():
|
if items_remaining.empty():
|
||||||
return false
|
return false
|
||||||
if not player.has_item():
|
if not player.has_item():
|
||||||
return false
|
return false
|
||||||
if not remaining.has(player.item_in_hand.item_type):
|
if not items_remaining.has(player.item_in_hand.item_type):
|
||||||
return false
|
return false
|
||||||
assert(remaining[player.item_in_hand.item_type] > 0, "remaining dictionary should always erase keys with a value of 0")
|
|
||||||
|
|
||||||
# Remove the player's item and mark off the item on the remaining list
|
# Remove the player's item and mark off the item on the remaining list
|
||||||
var item = player.drop_item_in_hand()
|
var item = player.drop_item_in_hand()
|
||||||
remaining[item.item_type] -= 1
|
items_remaining.erase(item.item_type)
|
||||||
if remaining[item.item_type] <= 0:
|
|
||||||
remaining.erase(item.item_type)
|
|
||||||
item.queue_free()
|
item.queue_free()
|
||||||
emit_signal("item_dumped")
|
emit_signal("item_dumped")
|
||||||
|
update_item_balloons()
|
||||||
|
|
||||||
# Check if everything's been checked off
|
# Check if everything's been checked off
|
||||||
if remaining.empty():
|
if items_remaining.empty():
|
||||||
emit_signal("item_dump_completed")
|
emit_signal("item_dump_completed")
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
|
||||||
|
func update_item_balloons():
|
||||||
|
if items_remaining.size() == 0:
|
||||||
|
one_item_node.visible = false
|
||||||
|
two_item_node.visible = false
|
||||||
|
elif items_remaining.size() == 1:
|
||||||
|
one_item_node.visible = true
|
||||||
|
two_item_node.visible = false
|
||||||
|
one_item_balloon.attach_item(items_remaining[0])
|
||||||
|
else:
|
||||||
|
one_item_node.visible = false
|
||||||
|
two_item_node.visible = true
|
||||||
|
two_item_balloon1.attach_item(items_remaining[0])
|
||||||
|
two_item_balloon2.attach_item(items_remaining[1])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user