1
Fork 0
mirror of https://github.com/Steffo99/swear-jar.git synced 2024-11-21 23:34:18 +00:00

Readd functionality to item converter

This commit is contained in:
Steffo 2023-10-24 19:10:44 +02:00
parent c501b0e982
commit 554e090dbc
Signed by: steffo
GPG key ID: 2A24051445686895
2 changed files with 64 additions and 54 deletions

View file

@ -3,7 +3,6 @@ class_name ItemConverter
@onready var sprite_front: AnimatedSprite2D = $SpriteFront @onready var sprite_front: AnimatedSprite2D = $SpriteFront
@onready var sprite_back: AnimatedSprite2D = $SpriteBack @onready var sprite_back: AnimatedSprite2D = $SpriteBack
@onready var sound_working: AudioStreamPlayer = $SoundWorking
@export var crown_chance: float = 0.1 @export var crown_chance: float = 0.1
@export var chalice_chance: float = 0.4 @export var chalice_chance: float = 0.4
@ -15,7 +14,7 @@ class_name ItemConverter
@onready var gem_hue_stored: Array[float] = [] @onready var gem_hue_stored: Array[float] = []
@onready var gem_hue_spawn: Array[float] = [] @onready var gem_hue_spawn: Array[float] = []
@onready var conversion_timer: Timer = $ConversionTimer @onready var working_timer: Timer = $WorkingTimer
@onready var ring_spawner = $RingSpawner @onready var ring_spawner = $RingSpawner
@onready var chalice_spawner = $ChaliceSpawner @onready var chalice_spawner = $ChaliceSpawner
@onready var crown_spawner = $CrownSpawner @onready var crown_spawner = $CrownSpawner
@ -55,19 +54,17 @@ func try_produce():
gem_hue_stored.append(hue) gem_hue_stored.append(hue)
func _physics_process(_delta): func _physics_process(_delta):
if conversion_timer.is_stopped(): if working_timer.is_stopped():
var hue = gem_hue_stored.pop_front() var hue = gem_hue_stored.pop_front()
if hue: if hue:
gem_hue_spawn.append(hue) gem_hue_spawn.append(hue)
conversion_timer.start() working_timer.do_start()
if sprite_front: if sprite_front:
sprite_front.play() sprite_front.play()
if sprite_back: if sprite_back:
sprite_back.play() sprite_back.play()
if sound_working:
sound_working.play()
func _on_timer_timeout(): func _on_working_timer_timeout():
var rand = Randomizer.rng.randf() var rand = Randomizer.rng.randf()
if rand <= crown_chance: if rand <= crown_chance:
crown_spawner.spawn() crown_spawner.spawn()
@ -79,8 +76,6 @@ func _on_timer_timeout():
sprite_front.stop() sprite_front.stop()
if sprite_back: if sprite_back:
sprite_back.stop() sprite_back.stop()
if sound_working:
sound_working.stop()
func _on_spawner_spawned(what: RigidBody2D): func _on_spawner_spawned(what: RigidBody2D):
var hue = gem_hue_spawn.pop_front() var hue = gem_hue_spawn.pop_front()

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=37 format=3 uid="uid://ddrhfhebwtq5"] [gd_scene load_steps=38 format=3 uid="uid://ddrhfhebwtq5"]
[ext_resource type="Script" path="res://converters/item_converter/item_converter.gd" id="1_o3eos"] [ext_resource type="Script" path="res://converters/item_converter/item_converter.gd" id="1_o3eos"]
[ext_resource type="Texture2D" uid="uid://devcho3gaigt0" path="res://converters/item_converter/item_converter_back_1.png" id="2_136t7"] [ext_resource type="Texture2D" uid="uid://devcho3gaigt0" path="res://converters/item_converter/item_converter_back_1.png" id="2_136t7"]
@ -15,6 +15,7 @@
[ext_resource type="Texture2D" uid="uid://4tg81ksibacf" path="res://converters/item_converter/item_converter_front_5.png" id="11_cg5dk"] [ext_resource type="Texture2D" uid="uid://4tg81ksibacf" path="res://converters/item_converter/item_converter_front_5.png" id="11_cg5dk"]
[ext_resource type="PackedScene" uid="uid://d32fgw4klo4x3" path="res://entity/item/item_crown.tscn" id="14_mioqu"] [ext_resource type="PackedScene" uid="uid://d32fgw4klo4x3" path="res://entity/item/item_crown.tscn" id="14_mioqu"]
[ext_resource type="PackedScene" uid="uid://y2p6j177k3nr" path="res://entity/item/item_ring.tscn" id="14_yt3w3"] [ext_resource type="PackedScene" uid="uid://y2p6j177k3nr" path="res://entity/item/item_ring.tscn" id="14_yt3w3"]
[ext_resource type="PackedScene" uid="uid://b3ev0md0jrpfj" path="res://converters/working_timer.tscn" id="15_38owi"]
[ext_resource type="PackedScene" uid="uid://451ddbtq4163" path="res://entity/item/item_chalice.tscn" id="15_akn63"] [ext_resource type="PackedScene" uid="uid://451ddbtq4163" path="res://entity/item/item_chalice.tscn" id="15_akn63"]
[ext_resource type="AudioStream" uid="uid://du16ilpv6gmxd" path="res://audio/conversione/drop_in_lava.wav" id="15_nahnf"] [ext_resource type="AudioStream" uid="uid://du16ilpv6gmxd" path="res://audio/conversione/drop_in_lava.wav" id="15_nahnf"]
[ext_resource type="AudioStream" uid="uid://dv1e0wiiquxp0" path="res://audio/conversione/lava.wav" id="16_ptmks"] [ext_resource type="AudioStream" uid="uid://dv1e0wiiquxp0" path="res://audio/conversione/lava.wav" id="16_ptmks"]
@ -61,7 +62,7 @@ animations = [{
}], }],
"loop": true, "loop": true,
"name": &"default", "name": &"default",
"speed": 10.0 "speed": 6.0
}] }]
[sub_resource type="AtlasTexture" id="AtlasTexture_qnpyk"] [sub_resource type="AtlasTexture" id="AtlasTexture_qnpyk"]
@ -104,21 +105,21 @@ animations = [{
}], }],
"loop": true, "loop": true,
"name": &"default", "name": &"default",
"speed": 10.0 "speed": 6.0
}] }]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_aslkt"] [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_b2tra"]
radius = 1.5 radius = 1.5
height = 28.0 height = 28.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_31dtl"] [sub_resource type="ConvexPolygonShape2D" id="ConvexPolygonShape2D_6ytld"]
size = Vector2(26, 4) points = PackedVector2Array(0, 0, -16, 0, -16, -3, -5, -7, 5, -7, 16, -3, 16, 0)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_k11if"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_k11if"]
size = Vector2(26, 5) size = Vector2(26, 5)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_jeo5f"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_fb127"]
size = Vector2(26, 8.83334) size = Vector2(16, 4)
[node name="ItemConverter" type="StaticBody2D"] [node name="ItemConverter" type="StaticBody2D"]
scale = Vector2(3, 3) scale = Vector2(3, 3)
@ -128,6 +129,7 @@ input_pickable = true
script = ExtResource("1_o3eos") script = ExtResource("1_o3eos")
[node name="SpriteBack" type="AnimatedSprite2D" parent="."] [node name="SpriteBack" type="AnimatedSprite2D" parent="."]
z_index = -2
texture_filter = 1 texture_filter = 1
position = Vector2(0, -14) position = Vector2(0, -14)
sprite_frames = SubResource("SpriteFrames_psnir") sprite_frames = SubResource("SpriteFrames_psnir")
@ -143,111 +145,124 @@ sprite_frames = SubResource("SpriteFrames_qqah4")
[node name="LeftWall" type="CollisionShape2D" parent="."] [node name="LeftWall" type="CollisionShape2D" parent="."]
z_index = 2 z_index = 2
position = Vector2(-14.5, -3) position = Vector2(-14.5, -3)
shape = SubResource("CapsuleShape2D_aslkt") shape = SubResource("CapsuleShape2D_b2tra")
debug_color = Color(0, 0, 0, 0.784314)
[node name="RightWall" type="CollisionShape2D" parent="."] [node name="RightWall" type="CollisionShape2D" parent="."]
z_index = 2 z_index = 2
position = Vector2(14.5, -3) position = Vector2(14.5, -3)
shape = SubResource("CapsuleShape2D_aslkt") shape = SubResource("CapsuleShape2D_b2tra")
debug_color = Color(0, 0, 0, 0.784314)
[node name="InnerWall" type="CollisionShape2D" parent="."] [node name="BottomWall" type="CollisionShape2D" parent="."]
z_index = 3 z_index = 3
position = Vector2(0, 4.5) position = Vector2(1.16196e-05, 9.08333)
rotation = 3.14159 rotation = 3.14159
shape = SubResource("RectangleShape2D_31dtl") shape = SubResource("ConvexPolygonShape2D_6ytld")
one_way_collision = true one_way_collision = true
debug_color = Color(0, 0, 0, 0.784314)
[node name="GoldCollector" parent="." node_paths=PackedStringArray("sound_absorb") instance=ExtResource("3_qehi7")] [node name="GoldCollector" parent="." node_paths=PackedStringArray("sound_absorb") instance=ExtResource("3_qehi7")]
z_index = 2 z_index = 2
position = Vector2(0, 6.5)
collecting_types = Array[StringName]([&"Gold"]) collecting_types = Array[StringName]([&"Gold"])
sound_absorb = NodePath("../SoundAbsorb") sound_absorb = NodePath("SoundAbsorb")
collecting_amount = 25 collecting_amount = 25
[node name="CollectShape" type="CollisionShape2D" parent="GoldCollector"] [node name="CollectShape" type="CollisionShape2D" parent="GoldCollector"]
shape = SubResource("RectangleShape2D_k11if") shape = SubResource("RectangleShape2D_k11if")
debug_color = Color(0, 0.701961, 0.188235, 0.419608) debug_color = Color(0, 0.701961, 0.188235, 0.419608)
[node name="SoundAbsorb" type="AudioStreamPlayer2D" parent="GoldCollector"]
stream = ExtResource("15_nahnf")
max_polyphony = 8
[node name="GemCollector" parent="." node_paths=PackedStringArray("sound_absorb") instance=ExtResource("3_qehi7")] [node name="GemCollector" parent="." node_paths=PackedStringArray("sound_absorb") instance=ExtResource("3_qehi7")]
z_index = 2 z_index = 2
position = Vector2(0, 6.5)
collecting_types = Array[StringName]([&"Gem"]) collecting_types = Array[StringName]([&"Gem"])
sound_absorb = NodePath("../SoundAbsorb") sound_absorb = NodePath("SoundAbsorb")
collecting_amount = 10 collecting_amount = 10
[node name="CollectShape" type="CollisionShape2D" parent="GemCollector"] [node name="CollectShape" type="CollisionShape2D" parent="GemCollector"]
shape = SubResource("RectangleShape2D_k11if") shape = SubResource("RectangleShape2D_k11if")
debug_color = Color(0, 0.701961, 0.188235, 0.419608) debug_color = Color(0, 0.701961, 0.188235, 0.419608)
[node name="SoundAbsorb" type="AudioStreamPlayer2D" parent="GemCollector"]
stream = ExtResource("15_nahnf")
max_polyphony = 8
[node name="WorkingTimer" parent="." node_paths=PackedStringArray("working_sound") instance=ExtResource("15_38owi")]
wait_time = 2.2
working_sound = NodePath("SoundWorking")
[node name="SoundWorking" type="AudioStreamPlayer2D" parent="WorkingTimer"]
stream = ExtResource("16_ptmks")
[node name="RingSpawner" parent="." node_paths=PackedStringArray("sound_complete") instance=ExtResource("4_ihtl7")] [node name="RingSpawner" parent="." node_paths=PackedStringArray("sound_complete") instance=ExtResource("4_ihtl7")]
position = Vector2(0, 8) position = Vector2(0, 10)
scene = ExtResource("14_yt3w3") scene = ExtResource("14_yt3w3")
buffer_cap = 1 buffer_cap = 1
spawn_rect = Rect2(-8, 0, 16, 4) spawn_rect = Rect2(-8, 0, 16, 4)
spawn_rotation_degrees_min = 80.0 spawn_rotation_degrees_min = 80.0
spawn_rotation_degrees_max = 100.0 spawn_rotation_degrees_max = 100.0
overlapping_body_count_limit = 4 overlapping_body_count_limit = 4
sound_complete = NodePath("../SoundComplete") sound_complete = NodePath("SoundComplete")
[node name="PreventSpawnShape" type="CollisionShape2D" parent="RingSpawner"] [node name="PreventSpawnShape" type="CollisionShape2D" parent="RingSpawner"]
z_index = 3 z_index = 3
position = Vector2(0, 3.5) position = Vector2(0, 2)
shape = SubResource("RectangleShape2D_jeo5f") shape = SubResource("RectangleShape2D_fb127")
debug_color = Color(0.701961, 0, 0, 0.419608) debug_color = Color(0.701961, 0, 0, 0.419608)
[node name="SoundComplete" type="AudioStreamPlayer2D" parent="RingSpawner"]
position = Vector2(0, -8)
stream = ExtResource("17_4wm4w")
[node name="ChaliceSpawner" parent="." node_paths=PackedStringArray("sound_complete") instance=ExtResource("4_ihtl7")] [node name="ChaliceSpawner" parent="." node_paths=PackedStringArray("sound_complete") instance=ExtResource("4_ihtl7")]
position = Vector2(0, 8) position = Vector2(0, 10)
scene = ExtResource("15_akn63") scene = ExtResource("15_akn63")
buffer_cap = 1 buffer_cap = 1
spawn_rect = Rect2(-8, 0, 16, 4) spawn_rect = Rect2(-8, 0, 16, 4)
spawn_rotation_degrees_min = 80.0 spawn_rotation_degrees_min = 80.0
spawn_rotation_degrees_max = 100.0 spawn_rotation_degrees_max = 100.0
overlapping_body_count_limit = 4 overlapping_body_count_limit = 4
sound_complete = NodePath("../SoundComplete") sound_complete = NodePath("SoundComplete")
[node name="PreventSpawnShape" type="CollisionShape2D" parent="ChaliceSpawner"] [node name="PreventSpawnShape" type="CollisionShape2D" parent="ChaliceSpawner"]
z_index = 3 z_index = 3
position = Vector2(0, 3.5) position = Vector2(0, 2)
shape = SubResource("RectangleShape2D_jeo5f") shape = SubResource("RectangleShape2D_fb127")
debug_color = Color(0.701961, 0, 0, 0.419608) debug_color = Color(0.701961, 0, 0, 0.419608)
[node name="SoundComplete" type="AudioStreamPlayer2D" parent="ChaliceSpawner"]
position = Vector2(0, -8)
stream = ExtResource("17_4wm4w")
[node name="CrownSpawner" parent="." node_paths=PackedStringArray("sound_complete") instance=ExtResource("4_ihtl7")] [node name="CrownSpawner" parent="." node_paths=PackedStringArray("sound_complete") instance=ExtResource("4_ihtl7")]
position = Vector2(0, 8) position = Vector2(0, 10)
scene = ExtResource("14_mioqu") scene = ExtResource("14_mioqu")
buffer_cap = 1 buffer_cap = 1
spawn_rect = Rect2(-8, 0, 16, 4) spawn_rect = Rect2(-8, 0, 16, 4)
spawn_rotation_degrees_min = 80.0 spawn_rotation_degrees_min = 80.0
spawn_rotation_degrees_max = 100.0 spawn_rotation_degrees_max = 100.0
overlapping_body_count_limit = 4 overlapping_body_count_limit = 4
sound_complete = NodePath("../SoundComplete") sound_complete = NodePath("SoundComplete")
[node name="PreventSpawnShape" type="CollisionShape2D" parent="CrownSpawner"] [node name="PreventSpawnShape" type="CollisionShape2D" parent="CrownSpawner"]
z_index = 3 z_index = 3
position = Vector2(0, 3.5) position = Vector2(0, 2)
shape = SubResource("RectangleShape2D_jeo5f") shape = SubResource("RectangleShape2D_fb127")
debug_color = Color(0.701961, 0, 0, 0.419608) debug_color = Color(0.701961, 0, 0, 0.419608)
[node name="ConversionTimer" type="Timer" parent="."] [node name="SoundComplete" type="AudioStreamPlayer2D" parent="CrownSpawner"]
wait_time = 0.5 position = Vector2(0, -8)
one_shot = true
[node name="SoundAbsorb" type="AudioStreamPlayer" parent="."]
stream = ExtResource("15_nahnf")
volume_db = -12.291
[node name="SoundWorking" type="AudioStreamPlayer" parent="."]
stream = ExtResource("16_ptmks")
[node name="SoundComplete" type="AudioStreamPlayer" parent="."]
stream = ExtResource("17_4wm4w") stream = ExtResource("17_4wm4w")
[node name="SpriteBack2" type="AnimatedSprite2D" parent="."]
texture_filter = 1
sprite_frames = SubResource("SpriteFrames_psnir")
frame_progress = 0.228399
[connection signal="input_event" from="." to="." method="_on_input_event"] [connection signal="input_event" from="." to="." method="_on_input_event"]
[connection signal="collected" from="GoldCollector" to="." method="_on_gold_collector_collected"] [connection signal="collected" from="GoldCollector" to="." method="_on_gold_collector_collected"]
[connection signal="collected" from="GemCollector" to="." method="_on_gem_collector_collected"] [connection signal="collected" from="GemCollector" to="." method="_on_gem_collector_collected"]
[connection signal="timeout" from="WorkingTimer" to="." method="_on_working_timer_timeout"]
[connection signal="spawned" from="RingSpawner" to="." method="_on_spawner_spawned"] [connection signal="spawned" from="RingSpawner" to="." method="_on_spawner_spawned"]
[connection signal="spawned" from="ChaliceSpawner" to="." method="_on_spawner_spawned"] [connection signal="spawned" from="ChaliceSpawner" to="." method="_on_spawner_spawned"]
[connection signal="spawned" from="CrownSpawner" to="." method="_on_spawner_spawned"] [connection signal="spawned" from="CrownSpawner" to="." method="_on_spawner_spawned"]
[connection signal="timeout" from="ConversionTimer" to="." method="_on_timer_timeout" flags=18]