[gd_scene load_steps=8 format=3 uid="uid://dolphin_main"] [ext_resource type="Script" path="res://scripts/dolphin/DolphinController.gd" id="1_controller"] [ext_resource type="Script" path="res://scripts/dolphin/HUD.gd" id="2_hud"] [ext_resource type="Script" path="res://scripts/dolphin/EcholocationPulse.gd" id="3_echo"] [ext_resource type="Script" path="res://scripts/dolphin/BubbleTrail.gd" id="4_bubble_trail"] [ext_resource type="Script" path="res://scripts/dolphin/DolphinMeshBuilder.gd" id="5_builder"] [ext_resource type="Script" uid="uid://dyym376d03yto" path="res://scripts/ambience/GodraysOverlay.gd" id="6_godrays"] [sub_resource type="CapsuleShape3D" id="1_colshape"] radius = 0.35 height = 1.8 [sub_resource type="StyleBoxFlat" id="12_panel_style"] bg_color = Color(0.05, 0.05, 0.05, 0.7) corner_radius_top_left = 10 corner_radius_top_right = 10 corner_radius_bottom_left = 10 corner_radius_bottom_right = 10 [node name="Dolphin" type="CharacterBody3D"] script = ExtResource("1_controller") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] shape = SubResource("1_colshape") [node name="DolphinBody" type="Node3D" parent="."] [node name="DolphinMesh" type="MeshInstance3D" parent="DolphinBody"] script = ExtResource("5_builder") [node name="CameraPivot" type="Node3D" parent="."] [node name="SpringArm" type="SpringArm3D" parent="CameraPivot"] spring_length = 3.5 rotation = Vector3(0, 3.14159, 0) [node name="Camera" type="Camera3D" parent="CameraPivot/SpringArm"] [node name="GodraysOverlay" type="MeshInstance3D" parent="CameraPivot/SpringArm/Camera"] position = Vector3(0, 0, -5) script = ExtResource("6_godrays") [node name="BubbleEmitterPoint" type="Node3D" parent="."] position = Vector3(0, 0, 1.2) [node name="BubbleTrail" type="GPUParticles3D" parent="BubbleEmitterPoint"] script = ExtResource("4_bubble_trail") [node name="EcholocationPulse" type="Node3D" parent="."] script = ExtResource("3_echo") [node name="HUD" type="CanvasLayer" parent="."] script = ExtResource("2_hud") [node name="Panel" type="PanelContainer" parent="HUD"] anchors_preset = 0 anchor_left = 0.0 anchor_top = 1.0 anchor_right = 0.0 anchor_bottom = 1.0 offset_left = 16.0 offset_top = -160.0 offset_right = 220.0 offset_bottom = -16.0 theme_override_styles/panel = SubResource("12_panel_style") [node name="VBox" type="VBoxContainer" parent="HUD/Panel"] layout_mode = 2 theme_override_constants/separation = 8 offset_left = 10.0 offset_top = 10.0 offset_right = -10.0 offset_bottom = -10.0 [node name="OxygenRow" type="HBoxContainer" parent="HUD/Panel/VBox"] layout_mode = 2 [node name="OxygenLabel" type="Label" parent="HUD/Panel/VBox/OxygenRow"] layout_mode = 2 text = "O2:" custom_minimum_size = Vector2(36, 0) [node name="OxygenBar" type="ProgressBar" parent="HUD/Panel/VBox/OxygenRow"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 custom_minimum_size = Vector2(130, 18) max_value = 100.0 value = 100.0 show_percentage = false [node name="HealthRow" type="HBoxContainer" parent="HUD/Panel/VBox"] layout_mode = 2 [node name="HealthLabel" type="Label" parent="HUD/Panel/VBox/HealthRow"] layout_mode = 2 text = "HP:" custom_minimum_size = Vector2(36, 0) [node name="HealthBar" type="ProgressBar" parent="HUD/Panel/VBox/HealthRow"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 custom_minimum_size = Vector2(130, 18) max_value = 100.0 value = 100.0 show_percentage = false [node name="HungerRow" type="HBoxContainer" parent="HUD/Panel/VBox"] layout_mode = 2 [node name="HungerLabel" type="Label" parent="HUD/Panel/VBox/HungerRow"] layout_mode = 2 text = "Food:" custom_minimum_size = Vector2(36, 0) [node name="HungerBar" type="ProgressBar" parent="HUD/Panel/VBox/HungerRow"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 custom_minimum_size = Vector2(130, 18) max_value = 100.0 value = 100.0 show_percentage = false