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

[ext_resource type="Script" path="res://scenes/player/player_input_controller.gd" id="1_m6tul"]
[ext_resource type="Script" path="res://scenes/player/placeholder.gd" id="1_ts455"]
[ext_resource type="Texture2D" uid="uid://oopj5mj1vdp0" path="res://assets/crosshairs/crosshair_default.png" id="3_8ulsx"]
[ext_resource type="PackedScene" uid="uid://dtvo21mk1webd" path="res://scenes/weapon/guns/ak/with_hands.tscn" id="3_xxv4y"]
[ext_resource type="PackedScene" uid="uid://1txob6jskn5s" path="res://scenes/characters/blue/dummy.tscn" id="5_16l76"]

[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_taqso"]
radius = 0.4
height = 1.6

[sub_resource type="LabelSettings" id="LabelSettings_3bk8i"]
font_size = 70

[sub_resource type="LabelSettings" id="LabelSettings_adbcb"]
font_size = 100
font_color = Color(0.756874, 0, 0.223924, 1)

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

[sub_resource type="Animation" id="Animation_fhivu"]
resource_name = "idle"

[sub_resource type="Animation" id="Animation_mkk0p"]
resource_name = "move"
length = 0.5
loop_mode = 2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.125, 0.25, 0.375, 0.5),
"transitions": PackedFloat32Array(1, 2, 1, 2, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(-0.1, 0.1, -0.1), Vector3(0, 0, 0), Vector3(-0.1, 0.1, -0.1), Vector3(0, 0, 0)]
}

[sub_resource type="Animation" id="Animation_ah507"]
resource_name = "shooting"
length = 0.2
loop_mode = 1
step = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2),
"transitions": PackedFloat32Array(1, 0.233258, 8.57419),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(0, -0.01, -0.01), Vector3(0, 0, 0)]
}

[sub_resource type="AnimationLibrary" id="AnimationLibrary_u1b6p"]
_data = {
"RESET": SubResource("Animation_falg4"),
"idle": SubResource("Animation_fhivu"),
"move": SubResource("Animation_mkk0p"),
"shooting": SubResource("Animation_ah507")
}

[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_7vlrn"]
properties/0/path = NodePath("ServerControlledNode:position")
properties/0/spawn = true
properties/0/replication_mode = 1
properties/1/path = NodePath(".:owner_id")
properties/1/spawn = true
properties/1/replication_mode = 2
properties/2/path = NodePath("ServerControlledNode:rotation")
properties/2/spawn = true
properties/2/replication_mode = 1
properties/3/path = NodePath(".:initial_position")
properties/3/spawn = true
properties/3/replication_mode = 2
properties/4/path = NodePath("PlayerControlledNode/CameraMount/BulletStartingPoint:position")
properties/4/spawn = true
properties/4/replication_mode = 1
properties/5/path = NodePath("PlayerControlledNode/CameraMount/BulletStartingPoint:rotation")
properties/5/spawn = true
properties/5/replication_mode = 1
properties/6/path = NodePath("PlayerControlledNode/CameraMount:rotation")
properties/6/spawn = true
properties/6/replication_mode = 1
properties/7/path = NodePath("ServerControlledNode/BulletStartingPoint:rotation")
properties/7/spawn = true
properties/7/replication_mode = 1

[node name="Placeholder" type="Node3D"]
script = ExtResource("1_ts455")

[node name="PlayerControlledNode" type="CharacterBody3D" parent="."]
collision_layer = 2
script = ExtResource("1_m6tul")

[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerControlledNode"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.786919, 0)
shape = SubResource("CapsuleShape3D_taqso")

[node name="CameraMount" type="Node3D" parent="PlayerControlledNode"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.29568, -0.355108)

[node name="Camera3D" type="Camera3D" parent="PlayerControlledNode/CameraMount"]
cull_mask = 524287

[node name="HUD" type="Control" parent="PlayerControlledNode/CameraMount/Camera3D"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 8.0
offset_right = 8.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2

[node name="TextureRect" type="TextureRect" parent="PlayerControlledNode/CameraMount/Camera3D/HUD"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -36.0
offset_top = -36.0
offset_right = 36.0
offset_bottom = 36.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("3_8ulsx")

[node name="HealthIndicator" type="Label" parent="PlayerControlledNode/CameraMount/Camera3D/HUD"]
layout_mode = 1
anchors_preset = 2
anchor_top = 1.0
anchor_bottom = 1.0
offset_top = -23.0
offset_right = 40.0
grow_vertical = 0
text = "100"
label_settings = SubResource("LabelSettings_3bk8i")

[node name="FPS" type="Label" parent="PlayerControlledNode/CameraMount/Camera3D/HUD" groups=["player_placeholder"]]
layout_mode = 1
offset_right = 40.0
offset_bottom = 23.0
text = "0"
label_settings = SubResource("LabelSettings_adbcb")

[node name="SubViewportContainer" type="SubViewportContainer" parent="PlayerControlledNode/CameraMount/Camera3D/HUD"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
stretch = true

[node name="SubViewport" type="SubViewport" parent="PlayerControlledNode/CameraMount/Camera3D/HUD/SubViewportContainer"]
transparent_bg = true
handle_input_locally = false
msaa_2d = 1
msaa_3d = 1
canvas_cull_mask = 4294443008
size = Vector2i(1920, 1964)
render_target_update_mode = 4

[node name="Camera3D" type="Camera3D" parent="PlayerControlledNode/CameraMount/Camera3D/HUD/SubViewportContainer/SubViewport"]
cull_mask = 524288
fov = 40.0

[node name="GunMount" type="Node3D" parent="PlayerControlledNode/CameraMount/Camera3D/HUD/SubViewportContainer/SubViewport/Camera3D"]

[node name="AnimationPlayer" type="AnimationPlayer" parent="PlayerControlledNode/CameraMount/Camera3D/HUD/SubViewportContainer/SubViewport/Camera3D/GunMount"]
libraries = {
"": SubResource("AnimationLibrary_u1b6p")
}

[node name="WithHands" parent="PlayerControlledNode/CameraMount/Camera3D/HUD/SubViewportContainer/SubViewport/Camera3D/GunMount" instance=ExtResource("3_xxv4y")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, -0.3, -0.4, 0)
visible = false

[node name="BulletStartingPoint" type="Node3D" parent="PlayerControlledNode/CameraMount"]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, -0.42185)

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

[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
replication_config = SubResource("SceneReplicationConfig_7vlrn")

[node name="Timer" type="Timer" parent="."]
wait_time = 0.1

[node name="ServerControlledNode" type="PlayerServerNode" parent="."]
collision_layer = 4

[node name="CollisionShape3D" type="CollisionShape3D" parent="ServerControlledNode"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.786919, 0)
shape = SubResource("CapsuleShape3D_taqso")

[node name="BulletStartingPoint" type="Node3D" parent="ServerControlledNode"]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1.287, -0.54568)

[node name="Dummy" parent="ServerControlledNode" instance=ExtResource("5_16l76")]
visible = false

[node name="CameraMount" type="Node3D" parent="ServerControlledNode"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.15245, -0.0611187)

[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
