[gd_scene load_steps=21 format=3 uid="uid://b46lmxhgyg5fh"]

[ext_resource type="Script" path="res://src/player.ts" id="1_a88ao"]
[ext_resource type="Script" path="res://src/player_animation.ts" id="2_ypldj"]
[ext_resource type="Script" path="res://src/player_input.ts" id="3_b7c8b"]
[ext_resource type="PackedScene" uid="uid://dv1aoe06v6dbo" path="res://scenes/player_mesh.tscn" id="4_27blp"]
[ext_resource type="Script" path="res://src/interactor.ts" id="5_nujwx"]

[sub_resource type="CylinderShape3D" id="CylinderShape3D_x8bhs"]

[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_oenqu"]
animation = &"Idle"

[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_it6i4"]
animation = &"PushButton"

[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_sl6il"]
animation = &"SlowRun"

[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_3b84f"]
animation = &"Walking"

[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a51th"]
advance_mode = 2

[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lhuck"]
advance_mode = 2
advance_condition = &"interact"

[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jf23w"]
switch_mode = 2
advance_mode = 2

[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dxcas"]
xfade_time = 0.1
advance_mode = 2
advance_expression = "velocity"

[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5x23f"]
advance_mode = 2
advance_condition = &"interact"

[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mq4ne"]
xfade_time = 0.1
advance_mode = 2
advance_expression = "!velocity"

[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rx5qf"]
xfade_time = 0.1
advance_mode = 2
advance_expression = "is_running()"

[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yo8po"]
xfade_time = 0.1
advance_mode = 2
advance_expression = "!is_running()"

[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_u1egq"]
states/Idle/node = SubResource("AnimationNodeAnimation_oenqu")
states/Idle/position = Vector2(365, 100)
states/Interact/node = SubResource("AnimationNodeAnimation_it6i4")
states/Interact/position = Vector2(466, 204)
states/SlowRun/node = SubResource("AnimationNodeAnimation_sl6il")
states/SlowRun/position = Vector2(735, 98)
states/Walking/node = SubResource("AnimationNodeAnimation_3b84f")
states/Walking/position = Vector2(579, 98)
transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_a51th"), "Idle", "Interact", SubResource("AnimationNodeStateMachineTransition_lhuck"), "Interact", "Idle", SubResource("AnimationNodeStateMachineTransition_jf23w"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_dxcas"), "Walking", "Interact", SubResource("AnimationNodeStateMachineTransition_5x23f"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_mq4ne"), "Walking", "SlowRun", SubResource("AnimationNodeStateMachineTransition_rx5qf"), "SlowRun", "Walking", SubResource("AnimationNodeStateMachineTransition_yo8po")]
graph_offset = Vector2(264, 15)

[sub_resource type="SphereShape3D" id="SphereShape3D_cvkom"]

[node name="CharacterBody3D" type="CharacterBody3D"]
script = ExtResource("1_a88ao")
player_input = NodePath("Input")
walk_speed = 2.5
run_speed = 4.0

[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1.25, 0, 0, 0, 1.25, 0, 0, 0, 1.25, 0, 1.25, 0)
shape = SubResource("CylinderShape3D_x8bhs")

[node name="AnimationTree" type="AnimationTree" parent="."]
root_node = NodePath("../PlayerMesh")
tree_root = SubResource("AnimationNodeStateMachine_u1egq")
advance_expression_base_node = NodePath("..")
anim_player = NodePath("../PlayerMesh/AnimationPlayer")
parameters/conditions/interact = false
script = ExtResource("2_ypldj")

[node name="Input" type="Node3D" parent="."]
script = ExtResource("3_b7c8b")

[node name="PlayerMesh" parent="." instance=ExtResource("4_27blp")]

[node name="Skeleton3D" parent="PlayerMesh/Armature" index="0"]
bones/0/position = Vector3(-0.0791573, 100.981, 0.65403)
bones/0/rotation = Quaternion(-0.0163855, -0.0229987, -0.0883498, 0.995689)
bones/1/position = Vector3(-1.08778e-06, 8.00974e-08, -5.45755e-07)
bones/2/rotation = Quaternion(-0.0870186, -0.0161811, 0.0903036, 0.991973)
bones/3/position = Vector3(1.2666e-07, 1.38208e-06, 4.63426e-06)
bones/4/rotation = Quaternion(-0.0254263, -0.0151828, 0.0203413, 0.999354)
bones/5/position = Vector3(-8.19564e-07, -1.46851e-05, 4.30644e-06)
bones/6/rotation = Quaternion(-0.0125175, -0.0151411, 0.0203446, 0.9996)
bones/7/position = Vector3(3.57632e-07, -2.42144e-05, -3.53158e-06)
bones/8/rotation = Quaternion(-0.52679, 0.535354, -0.560367, -0.349108)
bones/9/position = Vector3(1.93715e-07, -8.76188e-06, -1.82156e-05)
bones/10/position = Vector3(-2.22259e-06, 10.8382, 6.657e-05)
bones/10/rotation = Quaternion(0.508487, -0.157066, -0.0281914, 0.846154)
bones/11/position = Vector3(1.66958e-06, -2.30764e-05, 5.90135e-07)
bones/12/rotation = Quaternion(-1.37529e-07, -3.07905e-08, -0.237243, 0.97145)
bones/13/position = Vector3(7.10815e-06, 2.49848e-06, -3.67706e-07)
bones/14/position = Vector3(1.00884e-05, 28.3289, 1.42043e-06)
bones/14/rotation = Quaternion(-0.00736037, -0.143173, -0.0118039, 0.9896)
bones/15/position = Vector3(1.43223e-06, -9.47448e-06, -3.04991e-06)
bones/16/rotation = Quaternion(0.179817, 0.000758776, 0.0177523, 0.98354)
bones/17/position = Vector3(2.78027e-07, -1.63051e-05, 2.7709e-07)
bones/18/position = Vector3(-7.17311e-07, 3.6, -4.46059e-05)
bones/18/rotation = Quaternion(0.174418, 8.39337e-08, 0.0212574, 0.984442)
bones/19/position = Vector3(-1.09796e-06, -1.6639e-05, -1.30592e-05)
bones/20/rotation = Quaternion(0.239288, -2.60638e-08, 0.0291628, 0.970511)
bones/21/position = Vector3(-3.42208e-06, -3.57069e-06, -7.88492e-06)
bones/22/position = Vector3(-2.66578e-06, 2.11579, -6.80612e-06)
bones/23/position = Vector3(1.99676e-06, 2.3176e-06, 1.13522e-06)
bones/24/position = Vector3(-2.81929e-05, 9.5325, 4.46934e-05)
bones/24/rotation = Quaternion(0.159386, 0.00274518, 0.00219892, 0.98721)
bones/25/position = Vector3(-2.64221e-06, 1.33002e-05, 9.27813e-06)
bones/26/position = Vector3(-3.12982e-06, 3.70001, -1.88553e-05)
bones/26/rotation = Quaternion(0.182238, 8.9875e-08, 0.0222102, 0.983004)
bones/27/position = Vector3(4.8121e-06, -1.06792e-05, -1.50226e-05)
bones/28/position = Vector3(3.86115e-06, 2.95001, -1.38305e-05)
bones/28/rotation = Quaternion(0.304902, 0.0162707, 0.0424629, 0.951298)
bones/31/position = Vector3(1.86637e-06, 5.9802e-06, -1.467e-05)
bones/32/rotation = Quaternion(0.224394, 0.0023834, 0.0169417, 0.974348)
bones/33/position = Vector3(-2.25109e-06, -9.16777e-06, 1.35742e-05)
bones/34/position = Vector3(-1.61634e-06, 3.37927, -2.16157e-06)
bones/34/rotation = Quaternion(0.139901, 4.28371e-08, 0.0170503, 0.990019)
bones/36/position = Vector3(-1.34902e-06, 2.88968, 1.45266e-05)
bones/36/rotation = Quaternion(0.210679, 0.100051, 0.0479816, 0.971237)
bones/37/position = Vector3(7.45909e-07, -8.48482e-06, 1.51202e-05)
bones/38/position = Vector3(-7.0702e-07, 2.63882, -1.46823e-05)
bones/39/position = Vector3(-4.24683e-07, -3.16713e-06, -1.23643e-05)
bones/40/position = Vector3(2.25983, 9.10828, 0.517866)
bones/40/rotation = Quaternion(0.220996, -0.00142798, 0.0332105, 0.974708)
bones/41/position = Vector3(5.8333e-07, 6.3235e-07, 1.57826e-05)
bones/42/rotation = Quaternion(0.117654, 3.11304e-08, 0.014339, 0.992951)
bones/43/position = Vector3(-1.30539e-06, 1.28774e-05, 4.90486e-08)
bones/44/rotation = Quaternion(0.211996, -3.89194e-08, 0.0258367, 0.976929)
bones/45/position = Vector3(-2.28086e-07, -1.45823e-06, -4.29744e-07)
bones/48/position = Vector3(2.68185, 2.4648, 1.57399)
bones/48/rotation = Quaternion(0.123908, 0.0616255, -0.156299, 0.977967)
bones/49/position = Vector3(-3.57628e-06, -1.16825e-05, 6.73833e-06)
bones/50/position = Vector3(-7.17277e-06, 4.18897, 1.07578e-06)
bones/50/rotation = Quaternion(-0.0663669, 0.0359506, 0.212307, 0.974284)
bones/52/position = Vector3(-8.77766e-06, 3.41628, -4.79003e-06)
bones/52/rotation = Quaternion(0.018407, -0.00114223, -0.0141967, 0.999729)
bones/53/position = Vector3(-3.03984e-06, 2.01762e-05, -1.93187e-06)
bones/56/rotation = Quaternion(0.0488781, 0.0112906, -0.0536224, 0.997301)
bones/57/position = Vector3(1.19211e-07, -2.28947e-05, -3.36394e-06)
bones/58/rotation = Quaternion(-0.0586441, -0.00547983, 0.00924352, 0.998221)
bones/59/position = Vector3(-1.0431e-07, -1.54506e-05, -1.49384e-06)
bones/61/rotation = Quaternion(0.548466, 0.520641, -0.543615, 0.364144)
bones/62/position = Vector3(5.96046e-08, -6.10948e-07, -7.88433e-06)
bones/63/position = Vector3(3.42725e-07, 10.8377, 3.26269e-05)
bones/63/rotation = Quaternion(0.616863, 0.0670184, -0.0718558, 0.780913)
bones/64/position = Vector3(2.4772e-06, 1.24322e-06, 3.17702e-06)
bones/65/position = Vector3(7.81477e-06, 27.8415, 3.26074e-05)
bones/65/rotation = Quaternion(4.07093e-08, 2.60793e-08, 0.18234, 0.983236)
bones/66/position = Vector3(-3.25318e-06, -4.67625e-06, -1.50252e-06)
bones/67/rotation = Quaternion(0.00915824, 0.111795, 0.0758943, 0.990787)
bones/68/position = Vector3(7.47968e-08, -6.91227e-07, -2.51579e-06)
bones/69/rotation = Quaternion(0.12462, -0.0690797, 0.111919, 0.983449)
bones/70/position = Vector3(1.18017e-05, 1.18017e-05, 1.03254e-05)
bones/71/position = Vector3(-7.12144e-07, 4.18709, 2.40078e-06)
bones/71/rotation = Quaternion(-0.0119331, 0.00344536, -0.103213, 0.994582)
bones/72/position = Vector3(5.48363e-06, -9.44734e-06, -1.48937e-05)
bones/73/position = Vector3(-6.19066e-06, 3.41839, -3.25305e-05)
bones/73/rotation = Quaternion(-0.0709239, -0.0923349, -0.047557, 0.99206)
bones/74/position = Vector3(3.75509e-06, 1.69277e-05, 9.12723e-07)
bones/75/position = Vector3(2.59013e-06, 2.5806, 1.43079e-06)
bones/77/rotation = Quaternion(0.153308, -0.00218838, -0.00424038, 0.988167)
bones/78/position = Vector3(2.34035e-07, 6.61208e-07, -1.22018e-06)
bones/79/position = Vector3(-2.66701e-07, 3.7, -4.303e-07)
bones/79/rotation = Quaternion(0.187051, -2.89049e-07, -0.0225734, 0.982091)
bones/80/position = Vector3(-3.04282e-06, -2.24161e-06, -1.52532e-05)
bones/81/rotation = Quaternion(0.252027, -3.30255e-07, -0.0304148, 0.967242)
bones/84/position = Vector3(-1.56742e-06, -5.37828e-06, 1.60567e-05)
bones/85/rotation = Quaternion(0.103039, -0.00117523, -0.000971861, 0.994676)
bones/86/position = Vector3(-2.09158e-07, 7.10476e-06, -1.37234e-05)
bones/87/rotation = Quaternion(0.193775, -1.5408e-07, -0.0233848, 0.980767)
bones/88/position = Vector3(-1.44259e-06, -2.81852e-06, -1.08586e-06)
bones/89/rotation = Quaternion(0.243564, -3.82096e-07, -0.0293932, 0.969439)
bones/90/position = Vector3(-1.67251e-06, -5.69229e-06, 4.16067e-06)
bones/92/position = Vector3(-2.07638e-06, -8.50701e-06, 1.83102e-06)
bones/93/rotation = Quaternion(0.162198, -0.000588186, -0.0159881, 0.986629)
bones/94/position = Vector3(-1.24702e-06, -4.42364e-06, 5.52884e-07)
bones/95/rotation = Quaternion(0.181899, -2.96367e-07, -0.0219516, 0.983072)
bones/96/position = Vector3(-2.19045e-06, -7.68091e-06, -2.55365e-06)
bones/97/position = Vector3(1.62425e-06, 2.95, 1.38972e-05)
bones/97/rotation = Quaternion(0.276315, -4.08819e-07, -0.0333458, 0.960488)
bones/98/position = Vector3(-2.69965e-06, -1.43062e-07, 1.26105e-06)
bones/99/position = Vector3(-2.845e-05, 2.64431, 1.98053e-06)
bones/100/position = Vector3(6.57979e-07, -4.74934e-06, 1.44472e-05)
bones/101/position = Vector3(3.80627, 8.07779, 0.486894)
bones/101/rotation = Quaternion(0.164675, 0.00474566, -0.0476871, 0.985183)
bones/102/position = Vector3(-2.33662e-06, 1.08604e-05, 1.6658e-05)
bones/103/rotation = Quaternion(0.208897, 0.00734917, 0.00993022, 0.97786)
bones/104/position = Vector3(1.84285e-06, 5.76279e-06, -1.71906e-05)
bones/105/rotation = Quaternion(0.229115, -3.54336e-07, -0.0276495, 0.973007)
bones/106/position = Vector3(1.48522e-06, -3.60209e-06, 1.44012e-05)
bones/107/position = Vector3(4.3816e-06, 2.12554, -2.07618e-05)
bones/108/position = Vector3(-4.91738e-07, 8.79425e-06, -1.38031e-06)
bones/109/rotation = Quaternion(-0.0635143, 0.0581304, 0.992364, -0.0883157)
bones/110/position = Vector3(-1.06222e-06, 3.19319e-05, -1.56533e-06)
bones/111/rotation = Quaternion(-0.199361, 0.0628865, 0.0152453, 0.977787)
bones/112/position = Vector3(2.91388e-07, 4.25241e-06, -2.20301e-06)
bones/113/rotation = Quaternion(0.534333, -0.0316787, -0.0097, 0.844625)
bones/115/rotation = Quaternion(0.341258, 3.45743e-05, 1.21829e-05, 0.93997)
bones/119/rotation = Quaternion(0.0483289, 0.146858, 0.980692, -0.119748)
bones/120/position = Vector3(-8.23132e-07, -4.34501e-06, -1.59527e-06)
bones/121/rotation = Quaternion(-0.325496, -0.0556083, -0.0153673, 0.943782)
bones/122/position = Vector3(-6.62286e-07, 6.482e-06, 2.36121e-07)
bones/123/rotation = Quaternion(0.577067, -0.0254236, 0.00072291, 0.816301)
bones/125/rotation = Quaternion(0.325482, 3.70683e-05, 1.36367e-05, 0.945548)

[node name="InteractionArea" type="Area3D" parent="."]
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 1.5, 0.5)
script = ExtResource("5_nujwx")

[node name="CollisionShape3D" type="CollisionShape3D" parent="InteractionArea"]
shape = SubResource("SphereShape3D_cvkom")

[connection signal="area_entered" from="InteractionArea" to="InteractionArea" method="_on_area_entered"]
[connection signal="area_exited" from="InteractionArea" to="InteractionArea" method="_on_area_exited"]

[editable path="PlayerMesh"]
