[gd_scene load_steps=15 format=3 uid="uid://bx23j813jg0bl"]

[ext_resource type="Texture2D" uid="uid://dnjx65qkbf1aq" path="res://Assets/Sprites/Blocks/SpringBlock.png" id="1_5ga5m"]
[ext_resource type="Script" uid="uid://cdlufmypvdtun" path="res://Scripts/Classes/Blocks/SpringBlock.gd" id="1_omsgc"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_wexil"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_wexil"]
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="4_a8j4k"]
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="5_3xejn"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="7_3xejn"]

[sub_resource type="AtlasTexture" id="AtlasTexture_omsgc"]
atlas = ExtResource("1_5ga5m")
region = Rect2(16, 0, 16, 16)

[sub_resource type="AtlasTexture" id="AtlasTexture_3aauc"]
atlas = ExtResource("1_5ga5m")
region = Rect2(0, 0, 16, 16)

[sub_resource type="AtlasTexture" id="AtlasTexture_a8j4k"]
atlas = ExtResource("1_5ga5m")
region = Rect2(0, 0, 16, 16)

[sub_resource type="SpriteFrames" id="SpriteFrames_3xejn"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_omsgc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3aauc")
}],
"loop": false,
"name": &"Bounce",
"speed": 15.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_a8j4k")
}],
"loop": true,
"name": &"Idle",
"speed": 5.0
}]

[sub_resource type="Resource" id="Resource_e7kaa"]
script = ExtResource("5_3xejn")
Overworld = SubResource("SpriteFrames_3xejn")
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"

[sub_resource type="RectangleShape2D" id="RectangleShape2D_e7kaa"]
size = Vector2(16, 8)

[sub_resource type="RectangleShape2D" id="RectangleShape2D_omsgc"]
size = Vector2(14, 8)

[node name="SpringBlock" type="AnimatableBody2D"]
collision_layer = 6
sync_to_physics = false
script = ExtResource("1_omsgc")

[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_3xejn")
animation = &"Bounce"
autoplay = "Idle"
script = ExtResource("2_wexil")
do_offset = false
metadata/_custom_type_script = "uid://caq1qiwmy0mox"

[node name="ResourceSetter" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("4_a8j4k")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
themed_resource = SubResource("Resource_e7kaa")
metadata/_custom_type_script = "uid://cq6f682453q6o"

[node name="Collision" type="CollisionShape2D" parent="."]
position = Vector2(0, 4)
shape = SubResource("RectangleShape2D_e7kaa")

[node name="PlayerDetection" type="Area2D" parent="."]
position = Vector2(0, -4)
script = ExtResource("3_wexil")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"

[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
shape = SubResource("RectangleShape2D_omsgc")

[node name="TrackJoint" type="Node" parent="."]
script = ExtResource("7_3xejn")
offset = Vector2(0, 0)
disable_physics = false
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"

[connection signal="player_entered" from="PlayerDetection" to="." method="on_player_entered"]
