[gd_scene load_steps=14 format=3 uid="uid://cassl51oehlb6"]

[ext_resource type="Script" uid="uid://hk6ml16axmcc" path="res://Scripts/Classes/Entities/Objects/CheckpointFlag.gd" id="1_5d61x"]
[ext_resource type="Script" uid="uid://dtdc4oaygllfa" path="res://Scripts/Parts/Checkpoint.gd" id="1_dai6d"]
[ext_resource type="Texture2D" uid="uid://3rk8lq7kdaox" path="res://Assets/Sprites/Items/CheckpointFlag.png" id="1_iutnx"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_sdjg4"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/CheckpointFlag.json" id="4_2u6vm"]
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="4_dai6d"]

[sub_resource type="AtlasTexture" id="AtlasTexture_dai6d"]
atlas = ExtResource("1_iutnx")
region = Rect2(64, 0, 32, 32)

[sub_resource type="AtlasTexture" id="AtlasTexture_6hnfv"]
atlas = ExtResource("1_iutnx")
region = Rect2(96, 0, 32, 32)

[sub_resource type="AtlasTexture" id="AtlasTexture_sdjg4"]
atlas = ExtResource("1_iutnx")
region = Rect2(0, 0, 32, 32)

[sub_resource type="AtlasTexture" id="AtlasTexture_2u6vm"]
atlas = ExtResource("1_iutnx")
region = Rect2(32, 0, 32, 32)

[sub_resource type="SpriteFrames" id="SpriteFrames_1u6i2"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_dai6d")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6hnfv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sdjg4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6hnfv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dai6d")
}],
"loop": false,
"name": &"Hit",
"speed": 20.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_2u6vm")
}],
"loop": true,
"name": &"Idle",
"speed": 5.0
}]

[sub_resource type="SpriteFrames" id="SpriteFrames_sdjg4"]

[sub_resource type="RectangleShape2D" id="RectangleShape2D_dai6d"]
size = Vector2(8, 32)

[node name="CheckpointFlag" type="Node2D"]
z_index = -5
script = ExtResource("1_dai6d")
metadata/is_flag = true

[node name="Sprite" type="AnimatedSprite2D" parent="."]
process_mode = 3
position = Vector2(8, -16)
sprite_frames = SubResource("SpriteFrames_1u6i2")
animation = &"Hit"
autoplay = "Idle"

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

[node name="Activated" type="AnimatedSprite2D" parent="."]
visible = false
position = Vector2(8, -16)
sprite_frames = SubResource("SpriteFrames_sdjg4")

[node name="ResourceSetterNew" type="Node" parent="Activated" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_sdjg4")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"

[node name="PlayerDetection" type="Area2D" parent="."]

[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
position = Vector2(2, -16)
shape = SubResource("RectangleShape2D_dai6d")

[node name="Flag" type="Node2D" parent="."]
script = ExtResource("1_5d61x")

[node name="ScoreNoteSpawner" type="Node" parent="."]
script = ExtResource("4_dai6d")
note_offset = Vector2(0, -24)
add_score = true
metadata/_custom_type_script = "uid://5octqlf4ohel"

[connection signal="crossed" from="." to="Flag" method="activate"]
[connection signal="crossed" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [2000]]
[connection signal="tree_exiting" from="." to="." method="on_tree_exiting"]
[connection signal="area_entered" from="PlayerDetection" to="." method="on_area_entered"]
