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

[ext_resource type="Script" uid="uid://c0diue1hemrxq" path="res://Scripts/Classes/Blocks/NoteBlock.gd" id="1_lhrvd"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_jg54v"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/NoteBlock.json" id="4_lhrvd"]
[ext_resource type="Texture2D" uid="uid://bk4q17a2esuy1" path="res://Assets/Sprites/Blocks/NoteBlock.png" id="4_pp28j"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="6_4015b"]
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="6_jg54v"]

[sub_resource type="AtlasTexture" id="AtlasTexture_ibsa0"]
atlas = ExtResource("4_pp28j")
region = Rect2(0, 0, 16, 16)

[sub_resource type="SpriteFrames" id="SpriteFrames_26wi5"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ibsa0")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

[sub_resource type="RectangleShape2D" id="RectangleShape2D_jg54v"]
size = Vector2(14, 9.5)

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

[sub_resource type="Animation" id="Animation_4015b"]
resource_name = "BounceDown"
length = 0.24
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.10000001, 0.20000002),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, 12), Vector2(0, 0)]
}
tracks/1/type = "method"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.1),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"bounce_bodies"
}]
}

[sub_resource type="Animation" id="Animation_lhrvd"]
resource_name = "BounceUp"
length = 0.24
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.10000001, 0.20000002),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, -8), Vector2(0, 0)]
}

[sub_resource type="Animation" id="Animation_jg54v"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
}

[sub_resource type="AnimationLibrary" id="AnimationLibrary_pp28j"]
_data = {
&"BounceDown": SubResource("Animation_4015b"),
&"BounceUp": SubResource("Animation_lhrvd"),
&"RESET": SubResource("Animation_jg54v")
}

[node name="NoteBlock" type="AnimatableBody2D" node_paths=PackedStringArray("visuals")]
collision_layer = 6
sync_to_physics = false
script = ExtResource("1_lhrvd")
visuals = NodePath("Sprite")
destructable = false
metadata/_custom_type_script = "uid://b5ejlbl0vp1gm"

[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_26wi5")
autoplay = "default"

[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("2_jg54v")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_lhrvd")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"

[node name="Area" type="Area2D" parent="Sprite"]
unique_name_in_owner = true
priority = -1

[node name="Shape" type="CollisionShape2D" parent="Sprite/Area"]
position = Vector2(0, -12.25)
shape = SubResource("RectangleShape2D_jg54v")

[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Sprite"]
remote_path = NodePath("../../Collision")

[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_4015b")

[node name="Animations" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
libraries = {
&"": SubResource("AnimationLibrary_pp28j")
}

[node name="EditorPropertyExposer" type="Node" parent="."]
script = ExtResource("6_jg54v")
properties = Array[String](["item", "item_amount"])
filters = Dictionary[String, String]({
"item": "can_note_store"
})

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

[connection signal="player_block_hit" from="." to="." method="bounce_up" unbinds=1]
[connection signal="shell_block_hit" from="." to="." method="bounce_up" unbinds=1]
[connection signal="area_entered" from="Sprite/Area" to="." method="on_area_entered"]
