fixed gravity strength being possibly strong at level beginning fixed restarting being allowed after getting the last ring fixed save file's "played_for" being reset or set to another file's fixed the displayed save file total play time not being updated on main menu maybe there's other stuff
296 lines
9.1 KiB
Text
296 lines
9.1 KiB
Text
[gd_scene load_steps=16 format=3 uid="uid://ikeidrgprk8k"]
|
|
|
|
[ext_resource type="PackedScene" uid="uid://wlhsarkeqe8r" path="res://menus/main/panel.tscn" id="1_5vmsf"]
|
|
[ext_resource type="PackedScene" uid="uid://cnnvwotv33u1b" path="res://elements/player.tscn" id="2_2rexg"]
|
|
|
|
[sub_resource type="GDScript" id="GDScript_bt14i"]
|
|
script/source = "extends Node3D
|
|
|
|
signal request_play_level
|
|
|
|
func _enter_tree() -> void:
|
|
$Camera3D/AnimationPlayer.play_backwards(\"camera_pan\")
|
|
PhysicsServer3D.area_set_param(
|
|
get_viewport().find_world_3d().space,
|
|
PhysicsServer3D.AREA_PARAM_GRAVITY_VECTOR,
|
|
Vector3.DOWN
|
|
)
|
|
|
|
# Display on Panel 1
|
|
const res_initial_menu = preload(\"res://menus/main/initial_menu.tscn\")
|
|
func _ready() -> void:
|
|
$Menus/Panel2.connect(\"request_return\", func(): rotate_cube_to(0))
|
|
$Menus/Panel3.connect(\"request_return\", func(): rotate_cube_to(90))
|
|
$Menus/Panel4.connect(\"request_return\", func(): rotate_cube_to(180))
|
|
|
|
var initial_menu := res_initial_menu.instantiate()
|
|
initial_menu.connect(\"request_start\", start)
|
|
initial_menu.connect(\"request_settings\", settings)
|
|
$Menus/Panel1.change_menu(initial_menu, false)
|
|
|
|
# Display on Panel 2
|
|
const res_settings_menu = preload(\"res://menus/main/settings_menu.tscn\")
|
|
func settings() -> void:
|
|
var settings_menu := res_settings_menu.instantiate()
|
|
$Menus/Panel2.change_menu(settings_menu)
|
|
rotate_cube_to(90)
|
|
|
|
const res_save_file_manager = preload(\"res://menus/main/save_file_manager.tscn\")
|
|
func start() -> void:
|
|
var save_file_manager := res_save_file_manager.instantiate()
|
|
save_file_manager.connect(\"request_start\", level_selection)
|
|
$Menus/Panel2.change_menu(save_file_manager)
|
|
rotate_cube_to(90)
|
|
|
|
# Display on Panel 3
|
|
const res_level_selection_menu = preload(\"res://menus/main/level_selection_menu.tscn\")
|
|
func level_selection() -> void:
|
|
var level_selection_menu := res_level_selection_menu.instantiate()
|
|
level_selection_menu.connect(\"request_play_level\", func(level: Level, scene: PackedScene):
|
|
$Camera3D/AnimationPlayer.play(\"camera_pan\")
|
|
await get_tree().create_timer(1.5).timeout
|
|
request_play_level.emit(level, scene)
|
|
)
|
|
$Menus/Panel3.change_menu(level_selection_menu)
|
|
rotate_cube_to(180)
|
|
|
|
# cube
|
|
func rotate_cube_to(degrees: int) -> void:
|
|
if $Menus/AnimationPlayer.is_playing():
|
|
return
|
|
|
|
var cube_animation: Animation = $Menus/AnimationPlayer.get_animation(\"rotate\")
|
|
cube_animation.track_set_key_value(0, 0, $Menus.rotation_degrees)
|
|
cube_animation.track_set_key_value(0, 1, Vector3(0, -degrees, 0))
|
|
$Menus/AnimationPlayer.play(\"rotate\")
|
|
|
|
if $AnimationPlayer.is_playing():
|
|
await get_tree().create_timer($AnimationPlayer.current_animation_length).timeout
|
|
var sky_animation: Animation = $AnimationPlayer.get_animation(\"sky_brightness\")
|
|
sky_animation.track_set_key_value(0, 0, $WorldEnvironment.environment.sky.sky_material.energy_multiplier)
|
|
sky_animation.track_set_key_value(0, 1, max(90, degrees * 2) / 90)
|
|
$AnimationPlayer.play(\"sky_brightness\")
|
|
"
|
|
|
|
[sub_resource type="Animation" id="Animation_0jxef"]
|
|
length = 0.001
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath(".:rotation_degrees")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [Vector3(0, 0, 0)]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_bt14i"]
|
|
resource_name = "rotate"
|
|
length = 0.3
|
|
step = 0.3
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath(".:rotation_degrees")
|
|
tracks/0/interp = 2
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0, 0.3),
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
"update": 0,
|
|
"values": [Vector3(0, 0, 0), Vector3(0, 0, 0)]
|
|
}
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3bwb0"]
|
|
_data = {
|
|
&"RESET": SubResource("Animation_0jxef"),
|
|
&"rotate": SubResource("Animation_bt14i")
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_2rexg"]
|
|
length = 0.001
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("WorldEnvironment:environment:sky:sky_material:energy_multiplier")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [1.0]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Camera3D:fov")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [40.0]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("Camera3D:position")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [Vector3(0, 0, 2.5)]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_jinmx"]
|
|
resource_name = "camera_pan"
|
|
length = 1.5
|
|
step = 0.1
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("Camera3D:fov")
|
|
tracks/0/interp = 2
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0, 1.5),
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
"update": 0,
|
|
"values": [40.0, 75.0]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Camera3D:position")
|
|
tracks/1/interp = 2
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0, 1.5),
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
"update": 0,
|
|
"values": [Vector3(0, 0, 2.5), Vector3(0, 0, 15)]
|
|
}
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_jinmx"]
|
|
_data = {
|
|
&"RESET": SubResource("Animation_2rexg"),
|
|
&"camera_pan": SubResource("Animation_jinmx")
|
|
}
|
|
|
|
[sub_resource type="PhysicalSkyMaterial" id="PhysicalSkyMaterial_bt14i"]
|
|
ground_color = Color(1, 0.484315, 0.700558, 1)
|
|
|
|
[sub_resource type="Sky" id="Sky_0jxef"]
|
|
sky_material = SubResource("PhysicalSkyMaterial_bt14i")
|
|
|
|
[sub_resource type="Environment" id="Environment_qfa5o"]
|
|
background_mode = 2
|
|
background_color = Color(0.804743, 0.804743, 0.804743, 1)
|
|
sky = SubResource("Sky_0jxef")
|
|
ambient_light_source = 3
|
|
ambient_light_color = Color(0.986752, 0.986752, 0.986752, 1)
|
|
reflected_light_source = 2
|
|
|
|
[sub_resource type="Animation" id="Animation_j2kye"]
|
|
length = 0.001
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("../../WorldEnvironment:environment:sky:sky_material:energy_multiplier")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [1.0]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_gma2u"]
|
|
resource_name = "sky_brightness"
|
|
length = 0.3
|
|
step = 0.1
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("../../WorldEnvironment:environment:sky:sky_material:energy_multiplier")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0, 0.3),
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
"update": 0,
|
|
"values": [1.0, 1.0]
|
|
}
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_wruj6"]
|
|
_data = {
|
|
&"RESET": SubResource("Animation_j2kye"),
|
|
&"sky_brightness": SubResource("Animation_gma2u")
|
|
}
|
|
|
|
[node name="MainMenu" type="Node3D"]
|
|
process_mode = 3
|
|
script = SubResource("GDScript_bt14i")
|
|
|
|
[node name="Menus" type="CSGBox3D" parent="."]
|
|
use_collision = true
|
|
|
|
[node name="Panel1" parent="Menus" instance=ExtResource("1_5vmsf")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.501)
|
|
|
|
[node name="Panel2" parent="Menus" instance=ExtResource("1_5vmsf")]
|
|
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.501, 0, 0)
|
|
|
|
[node name="Panel3" parent="Menus" instance=ExtResource("1_5vmsf")]
|
|
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, -0.501)
|
|
|
|
[node name="Panel4" parent="Menus" instance=ExtResource("1_5vmsf")]
|
|
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.501, 0, 0)
|
|
|
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="Menus"]
|
|
libraries = {
|
|
&"": SubResource("AnimationLibrary_3bwb0")
|
|
}
|
|
|
|
[node name="Camera3D" type="Camera3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2.5)
|
|
current = true
|
|
fov = 40.0
|
|
|
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="Camera3D"]
|
|
root_node = NodePath("../..")
|
|
libraries = {
|
|
&"": SubResource("AnimationLibrary_jinmx")
|
|
}
|
|
|
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
|
environment = SubResource("Environment_qfa5o")
|
|
|
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
|
transform = Transform3D(0.819152, -0.412596, 0.39844, 0, 0.694658, 0.71934, -0.573576, -0.589249, 0.569031, 0, 0, 0)
|
|
|
|
[node name="Player" parent="." instance=ExtResource("2_2rexg")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0)
|
|
|
|
[node name="Camera" parent="Player" index="0"]
|
|
visible = false
|
|
current = false
|
|
|
|
[node name="GPUParticles3D" parent="Player/Sphere" index="2"]
|
|
visible = false
|
|
|
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
|
root_node = NodePath("../Camera3D/AnimationPlayer")
|
|
libraries = {
|
|
&"": SubResource("AnimationLibrary_wruj6")
|
|
}
|
|
|
|
[editable path="Player"]
|