implement the new main menu into the actual game
This commit is contained in:
parent
a73b32610e
commit
8f18e43af7
6 changed files with 96 additions and 226 deletions
|
@ -1,37 +1,45 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://ikeidrgprk8k"]
|
||||
[gd_scene load_steps=10 format=3 uid="uid://ikeidrgprk8k"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://wlhsarkeqe8r" path="res://menus/main/panel.tscn" id="1_qfa5o"]
|
||||
[ext_resource type="PackedScene" uid="uid://cnnvwotv33u1b" path="res://elements/player.tscn" id="2_0jxef"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_bt14i"]
|
||||
script/source = "extends Node3D
|
||||
|
||||
signal request_start
|
||||
|
||||
var start_menu = preload(\"res://menus/main/start_menu.tscn\")
|
||||
var save_file_manager = preload(\"res://menus/main/save_file_manager.tscn\")
|
||||
var settings_menu = preload(\"res://menus/main/settings_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 sm = start_menu.instantiate()
|
||||
sm.connect(\"request_start\", start)
|
||||
sm.connect(\"request_settings\", settings)
|
||||
$Menus/Panel1.change_menu(sm)
|
||||
$Menus/Panel1.change_menu(sm, false)
|
||||
|
||||
func start() -> void:
|
||||
var svm = save_file_manager.instantiate()
|
||||
$Menus/Panel2.change_menu(svm)
|
||||
rotate_cube(90)
|
||||
request_start.emit()
|
||||
#var svm = save_file_manager.instantiate()
|
||||
#$Menus/Panel2.change_menu(svm)
|
||||
#rotate_cube_to(90)
|
||||
|
||||
func settings() -> void:
|
||||
var sm = settings_menu.instantiate()
|
||||
$Menus/Panel2.change_menu(sm)
|
||||
rotate_cube(90)
|
||||
rotate_cube_to(90)
|
||||
|
||||
func rotate_cube(degrees: int) -> void:
|
||||
func rotate_cube_to(degrees: int) -> void:
|
||||
if $Menus/AnimationPlayer.is_playing():
|
||||
return
|
||||
degrees = -degrees
|
||||
|
||||
var animation: Animation = $Menus/AnimationPlayer.get_animation(\"rotate\")
|
||||
var new_rotation = $Menus.rotation_degrees + Vector3(0, degrees, 0)
|
||||
var new_rotation = Vector3(0, degrees, 0)
|
||||
animation.track_set_key_value(0, 0, $Menus.rotation_degrees)
|
||||
animation.track_set_key_value(0, 1, new_rotation)
|
||||
|
||||
|
@ -76,18 +84,26 @@ _data = {
|
|||
&"rotate": SubResource("Animation_bt14i")
|
||||
}
|
||||
|
||||
[sub_resource type="PhysicalSkyMaterial" id="PhysicalSkyMaterial_bt14i"]
|
||||
ground_color = Color(0.794232, 0.673177, 0.531056, 1)
|
||||
|
||||
[sub_resource type="Sky" id="Sky_0jxef"]
|
||||
sky_material = SubResource("PhysicalSkyMaterial_bt14i")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_qfa5o"]
|
||||
background_mode = 1
|
||||
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
|
||||
|
||||
[node name="Area" type="Node3D"]
|
||||
process_mode = 3
|
||||
script = SubResource("GDScript_bt14i")
|
||||
|
||||
[node name="SpotLight3D" type="SpotLight3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 1.90692, 0)
|
||||
|
||||
[node name="Menus" type="CSGBox3D" parent="."]
|
||||
use_collision = true
|
||||
|
||||
[node name="Panel1" parent="Menus" instance=ExtResource("1_qfa5o")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.501)
|
||||
|
@ -107,7 +123,24 @@ libraries = {
|
|||
}
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(0.975535, 0, 0.219846, 0, 1, 0, -0.219846, 0, 0.975535, 0.86618, 0.217345, 1.76032)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2.5)
|
||||
current = true
|
||||
fov = 40.0
|
||||
|
||||
[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_0jxef")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.87335, 0)
|
||||
|
||||
[node name="Camera" parent="Player" index="0"]
|
||||
visible = false
|
||||
current = false
|
||||
|
||||
[node name="GPUParticles3D" parent="Player/Sphere" index="2"]
|
||||
visible = false
|
||||
|
||||
[editable path="Player"]
|
||||
|
|
|
@ -73,8 +73,11 @@ func _mouse_input_event(_camera: Camera3D, event: InputEvent, event_position: Ve
|
|||
|
||||
# original code
|
||||
|
||||
func change_menu(new_menu: Control):
|
||||
$SubViewport/Menu.add(new_menu)
|
||||
signal request_return
|
||||
|
||||
func change_menu(new_menu: Control, return_button: bool = true):
|
||||
$SubViewport/Menu.add(new_menu, return_button)
|
||||
$SubViewport/Menu.connect(\"disabled\", func(): request_return.emit())
|
||||
"
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_gfsnp"]
|
||||
|
@ -85,7 +88,6 @@ viewport_path = NodePath("SubViewport")
|
|||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a5lkq"]
|
||||
resource_local_to_scene = true
|
||||
transparency = 1
|
||||
shading_mode = 0
|
||||
albedo_texture = SubResource("ViewportTexture_gfsnp")
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_gfsnp"]
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
[sub_resource type="GDScript" id="GDScript_18a3y"]
|
||||
script/source = "extends MarginContainer
|
||||
|
||||
func add(node: Control):
|
||||
signal disabled
|
||||
|
||||
func add(node: Control, return_button: bool):
|
||||
var add_to := $VSplitContainer/MarginContainer/ColorRect
|
||||
var children := add_to.get_children(true)
|
||||
for child in children:
|
||||
|
@ -16,8 +18,18 @@ func add(node: Control):
|
|||
add_to.add_child(node)
|
||||
$VSplitContainer/AnimationPlayer.play(\"split_offset\")
|
||||
|
||||
#await get_tree().create_timer(3.0).timeout
|
||||
#$VSplitContainer/AnimationPlayer.play_backwards(\"split_offset\")
|
||||
if return_button:
|
||||
var button = Button.new()
|
||||
button.text = \"Return\"
|
||||
button.anchor_top = 1.0
|
||||
button.anchor_bottom = 1.0
|
||||
button.grow_vertical = Control.GROW_DIRECTION_BEGIN
|
||||
button.connect(\"pressed\", disable)
|
||||
node.add_child(button)
|
||||
|
||||
func disable():
|
||||
$VSplitContainer/AnimationPlayer.play_backwards(\"split_offset\")
|
||||
disabled.emit()
|
||||
"
|
||||
|
||||
[sub_resource type="Animation" id="Animation_y8e4h"]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue