[gd_scene load_steps=18 format=3]

[ext_resource type="Script" path="res://player/player.gd" id="1_script"]
[ext_resource type="Script" path="res://inventory/fish_inventory.gd" id="2_inventory"]
[ext_resource type="Script" path="res://collection/collection_log.gd" id="3_collection"]
[ext_resource type="Script" path="res://economy/player_wallet.gd" id="4_wallet"]
[ext_resource type="Script" path="res://economy/fish_sale_service.gd" id="5_sale_service"]
[ext_resource type="Script" path="res://inventory/player_bag.gd" id="6_bag"]
[ext_resource type="Script" path="res://inventory/player_hotbar.gd" id="7_hotbar"]
[ext_resource type="Script" path="res://progression/player_fishing_upgrades.gd" id="8_upgrades"]
[ext_resource type="Script" path="res://progression/player_item_effects.gd" id="9_effects"]
[ext_resource type="Script" path="res://progression/player_cooler_capacity.gd" id="10_capacity"]

[sub_resource type="CapsuleShape3D" id="PlayerShape"]
radius = 0.45
height = 1.8

[sub_resource type="CapsuleMesh" id="PlayerMesh"]
radius = 0.45
height = 1.8

[sub_resource type="StandardMaterial3D" id="PlayerMaterial"]
albedo_color = Color(0.95, 0.48, 0.18, 1)

[sub_resource type="BoxMesh" id="FacingMarkerMesh"]
size = Vector3(0.24, 0.2, 0.4)

[sub_resource type="StandardMaterial3D" id="FacingMarkerMaterial"]
albedo_color = Color(0.12, 0.18, 0.28, 1)

[sub_resource type="CylinderMesh" id="FishingRodMesh"]
top_radius = 0.025
bottom_radius = 0.045
height = 1.2

[sub_resource type="StandardMaterial3D" id="FishingRodMaterial"]
albedo_color = Color(0.22, 0.12, 0.06, 1)
roughness = 0.8

[node name="Player" type="CharacterBody3D"]
collision_layer = 2
collision_mask = 1
script = ExtResource("1_script")

[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
position = Vector3(0, 0.9, 0)
shape = SubResource("PlayerShape")

[node name="Visuals" type="Node3D" parent="."]
unique_name_in_owner = true

[node name="MeshInstance3D" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 0.9, 0)
mesh = SubResource("PlayerMesh")
material_override = SubResource("PlayerMaterial")

[node name="FacingMarker" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 1.0, -0.55)
mesh = SubResource("FacingMarkerMesh")
material_override = SubResource("FacingMarkerMaterial")

[node name="FishingRod" type="Node3D" parent="Visuals"]
unique_name_in_owner = true
position = Vector3(0.42, 1.05, -0.2)
rotation = Vector3(-0.436332, 0, 0)

[node name="RodMesh" type="MeshInstance3D" parent="Visuals/FishingRod"]
position = Vector3(0, 0.6, 0)
mesh = SubResource("FishingRodMesh")
material_override = SubResource("FishingRodMaterial")

[node name="FishingRodTip" type="Marker3D" parent="Visuals/FishingRod"]
unique_name_in_owner = true
position = Vector3(0, 1.2, 0)

[node name="CastOrigin" type="Marker3D" parent="."]
unique_name_in_owner = true
position = Vector3(0, 0.9, 0)

[node name="Inventory" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("2_inventory")

[node name="CollectionLog" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("3_collection")

[node name="Wallet" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("4_wallet")

[node name="FishSaleService" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("5_sale_service")

[node name="Bag" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("6_bag")

[node name="Hotbar" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("7_hotbar")

[node name="FishingUpgrades" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("8_upgrades")

[node name="ItemEffects" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("9_effects")

[node name="CoolerCapacity" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("10_capacity")

[node name="CatchDisplayAnchor" type="Marker3D" parent="Visuals"]
unique_name_in_owner = true
position = Vector3(0, 1.45, -1.15)

[node name="CatchDisplay" type="Node3D" parent="Visuals/CatchDisplayAnchor"]
unique_name_in_owner = true
visible = false

[node name="CatchSprite" type="Sprite3D" parent="Visuals/CatchDisplayAnchor/CatchDisplay"]
unique_name_in_owner = true
pixel_size = 0.012
billboard = 1
shaded = false
double_sided = true
texture_filter = 0

[node name="CameraYaw" type="Node3D" parent="."]
unique_name_in_owner = true
position = Vector3(0, 1.35, 0)

[node name="CameraPitch" type="Node3D" parent="CameraYaw"]
unique_name_in_owner = true
rotation = Vector3(-0.261799, 0, 0)

[node name="SpringArm3D" type="SpringArm3D" parent="CameraYaw/CameraPitch"]
unique_name_in_owner = true
spring_length = 5.0
margin = 0.15
collision_mask = 1

[node name="Camera3D" type="Camera3D" parent="CameraYaw/CameraPitch/SpringArm3D"]
unique_name_in_owner = true
current = true
