[gd_scene load_steps=17 format=3 uid="uid://dttyp3682enn7"]

[ext_resource type="PackedScene" uid="uid://crbrniwi6kd3p" path="res://scenes/player.tscn" id="1_2q6dc"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_klq6b"]
[ext_resource type="Script" uid="uid://ds8lef4lc6xuj" path="res://src/door.gd" id="2_w8frs"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_b121j"]
[ext_resource type="Script" uid="uid://dyghf5fq7s72x" path="res://src/interactable.gd" id="3_w8frs"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="4_8c41q"]
[ext_resource type="Script" uid="uid://pdpejp2xor23" path="res://src/persistence.gd" id="4_mx8sn"]
[ext_resource type="Resource" uid="uid://cqfnwpmo4fyv4" path="res://resources/items/key.tres" id="7_8c41q"]
[ext_resource type="PackedScene" uid="uid://cn7tgd4y67wnd" path="res://scenes/inventory.tscn" id="8_b121j"]
[ext_resource type="PackedScene" uid="uid://c0cf6jkxasplk" path="res://scenes/enemy.tscn" id="10_olg7q"]
[ext_resource type="PackedScene" uid="uid://iwn3rk6leull" path="res://scenes/pistol_pickup.tscn" id="11_t1rx8"]

[sub_resource type="PlaneMesh" id="PlaneMesh_rd3vj"]

[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_w7c3h"]

[sub_resource type="Resource" id="Resource_olg7q"]
script = ExtResource("3_b121j")
duration = 1.0
transition = 0
ease = 2

[sub_resource type="BoxMesh" id="BoxMesh_w8frs"]

[sub_resource type="BoxShape3D" id="BoxShape3D_mx8sn"]
size = Vector3(2, 2.5, 0.5)

[node name="Node3D" type="Node3D"]

[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(50, 0, 0, 0, 50, 0, 0, 0, 50, 0, 0, 0)
mesh = SubResource("PlaneMesh_rd3vj")

[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"]
collision_layer = 5

[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"]
shape = SubResource("WorldBoundaryShape3D_w7c3h")

[node name="Player" parent="." instance=ExtResource("1_2q6dc")]
aim_offset = Vector3(0, 1.5, 1.25)

[node name="PhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
transform = Transform3D(1, 0, 0, 0, 0.707106, 0.707106, 0, -0.707106, 0.707106, 0, 10, 10)
top_level = true
script = ExtResource("2_klq6b")
follow_mode = 2
follow_target = NodePath("../Player")
tween_resource = SubResource("Resource_olg7q")
follow_offset = Vector3(0, 10, 10)
follow_distance = 10.0
dead_zone_width = 0.5
dead_zone_height = 0.5
show_viewfinder_in_play = true
spring_length = 10.0

[node name="Camera3D" type="Camera3D" parent="."]
physics_interpolation_mode = 1
transform = Transform3D(1, 0, 0, 0, 0.707106, 0.707106, 0, -0.707106, 0.707106, 0, 10, 10)
projection = 1
size = 15.0

[node name="PhantomCameraHost" type="Node" parent="Camera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("4_8c41q")

[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 10, 0)

[node name="Door" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5)
collision_layer = 3
collision_mask = 0
script = ExtResource("2_w8frs")
is_locked = true
key = ExtResource("7_8c41q")

[node name="MeshInstance3D" type="MeshInstance3D" parent="Door"]
transform = Transform3D(2, 0, 0, 0, 2.5, 0, 0, 0, 0.5, 0, 1.25, 0)
mesh = SubResource("BoxMesh_w8frs")

[node name="CollisionShape3D" type="CollisionShape3D" parent="Door"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.25, 0)
shape = SubResource("BoxShape3D_mx8sn")

[node name="Interactable" type="Node3D" parent="Door"]
script = ExtResource("3_w8frs")

[node name="CanvasLayer" type="CanvasLayer" parent="."]
follow_viewport_enabled = true

[node name="Control" type="Control" parent="CanvasLayer"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0

[node name="Persistence" type="Node" parent="CanvasLayer/Control"]
script = ExtResource("4_mx8sn")

[node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/Control"]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0

[node name="SaveButton" type="Button" parent="CanvasLayer/Control/HBoxContainer"]
layout_mode = 2
text = "Save"

[node name="LoadButton" type="Button" parent="CanvasLayer/Control/HBoxContainer"]
layout_mode = 2
text = "Load
"

[node name="Inventory" parent="CanvasLayer" instance=ExtResource("8_b121j")]
visible = false

[node name="Enemy" parent="." instance=ExtResource("10_olg7q")]
transform = Transform3D(1.75, 0, 0, 0, 1.75, 0, 0, 0, 1.75, 6, 0, 0)

[node name="PistolPickup" parent="." instance=ExtResource("11_t1rx8")]
transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 2, -3)

[connection signal="opened" from="Door" to="Door" method="hide"]
[connection signal="interacted" from="Door/Interactable" to="Door" method="_on_interact"]
[connection signal="pressed" from="CanvasLayer/Control/HBoxContainer/SaveButton" to="CanvasLayer/Control/Persistence" method="save" binds= ["save1.sav"]]
[connection signal="pressed" from="CanvasLayer/Control/HBoxContainer/LoadButton" to="CanvasLayer/Control/Persistence" method="load" binds= ["save1.sav"]]
