[gd_scene load_steps=20 format=3 uid="uid://u3t1k5j28yap"]

[ext_resource type="Script" uid="uid://cy8cncadvevvt" path="res://Scripts/Classes/Entities/Objects/Door.gd" id="1_8ee2c"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="1_625dr"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_8ee2c"]
[ext_resource type="Texture2D" uid="uid://fyxbhdmqfxk5" path="res://Assets/Sprites/Tilesets/Doors.png" id="2_12ofo"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_12ofo"]
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Doors.json" id="4_jfxhu"]
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="5_8ee2c"]
[ext_resource type="PackedScene" uid="uid://dse5pwhodrqcr" path="res://Scenes/Prefabs/Editor/EditorProperties/TilePropertyIntRangeSpin.tscn" id="6_12ofo"]
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="7_jfxhu"]

[sub_resource type="RectangleShape2D" id="RectangleShape2D_penv4"]
size = Vector2(13, 20)

[sub_resource type="AtlasTexture" id="AtlasTexture_kr4bu"]
atlas = ExtResource("2_12ofo")
region = Rect2(48, 0, 16, 32)

[sub_resource type="AtlasTexture" id="AtlasTexture_penv4"]
atlas = ExtResource("2_12ofo")
region = Rect2(32, 0, 16, 32)

[sub_resource type="AtlasTexture" id="AtlasTexture_jfxhu"]
atlas = ExtResource("2_12ofo")
region = Rect2(16, 0, 16, 32)

[sub_resource type="SpriteFrames" id="SpriteFrames_kr4bu"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_kr4bu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_penv4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jfxhu")
}],
"loop": false,
"name": &"Close",
"speed": 15.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_jfxhu")
}],
"loop": true,
"name": &"Idle",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_jfxhu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_penv4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kr4bu")
}],
"loop": false,
"name": &"Open",
"speed": 10.0
}]

[sub_resource type="GDScript" id="GDScript_jfxhu"]
script/source = "extends Node

static var colour_ids := {}


func _process(_delta: float) -> void:
	$\"../LevelEditorVisibleNode/Label\".text = str(owner.door_id)
"

[sub_resource type="Animation" id="Animation_hk64y"]
resource_name = "Locked"
length = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite:position")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.03333333, 0.06666666, 0.099999994),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(1, 0), Vector2(-1, 0), Vector2(0, 0)]
}

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

[sub_resource type="Animation" id="Animation_kr4bu"]
resource_name = "Unlock"
length = 0.2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:scale")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(1.5, 1.5), Vector2(1, 1)]
}

[sub_resource type="AnimationLibrary" id="AnimationLibrary_hk64y"]
_data = {
&"Locked": SubResource("Animation_hk64y"),
&"RESET": SubResource("Animation_uba0u"),
&"Unlock": SubResource("Animation_kr4bu")
}

[node name="Door" type="Node2D" groups=["Doors"]]
z_index = -5
script = ExtResource("1_8ee2c")

[node name="PlayerDetection" type="Area2D" parent="."]
script = ExtResource("1_625dr")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"

[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
position = Vector2(0, -10)
shape = SubResource("RectangleShape2D_penv4")

[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_kr4bu")
animation = &"Close"
autoplay = "Idle"
frame = 2
frame_progress = 1.0
offset = Vector2(0, -16)
script = ExtResource("2_8ee2c")
do_offset = false
metadata/_custom_type_script = "uid://caq1qiwmy0mox"

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

[node name="EditorPropertyExposer" type="Node" parent="."]
script = ExtResource("5_8ee2c")
properties = Array[String](["door_id", "sublevel_id"])
properties_force_selector = Dictionary[String, PackedScene]({
"door_id": ExtResource("6_12ofo")
})
metadata/_custom_type_script = "uid://ctfbuoxtnnl0q"

[node name="LevelEditorVisibleNode" type="Node2D" parent="."]
process_mode = 3
visibility_layer = 2
z_index = 10
z_as_relative = false
script = ExtResource("7_jfxhu")
metadata/_custom_type_script = "uid://cpwloakvp672a"

[node name="Label" type="Label" parent="LevelEditorVisibleNode"]
offset_left = -16.0
offset_top = -32.0
offset_right = 16.0
offset_bottom = -16.0
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
text = "1"
horizontal_alignment = 1

[node name="Node" type="Node" parent="."]
process_mode = 3
script = SubResource("GDScript_jfxhu")

[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_hk64y")
}

[connection signal="updated" from="." to="Node" method="update_line"]
