From 45e9b99f805717ea491a7beefbb5e2b92b52f34e Mon Sep 17 00:00:00 2001 From: Taevas Date: Sun, 23 Feb 2025 17:21:13 +0100 Subject: [PATCH] finish coding --- elements/sphere.tscn | 7 +++- index.tscn | 85 ++++++++++++++++++++++++++++++++++++------ levels/demo_level.tscn | 29 ++++++++++++++ 3 files changed, 108 insertions(+), 13 deletions(-) create mode 100644 levels/demo_level.tscn diff --git a/elements/sphere.tscn b/elements/sphere.tscn index 52b2f76..77e697e 100644 --- a/elements/sphere.tscn +++ b/elements/sphere.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=9 format=3 uid="uid://df5m716pd6mej"] +[gd_scene load_steps=10 format=3 uid="uid://df5m716pd6mej"] [sub_resource type="PhysicsMaterial" id="PhysicsMaterial_vumbr"] bounce = 0.2 @@ -23,7 +23,12 @@ material = SubResource("StandardMaterial3D_qcgmu") direction = Vector3(0, 0, 0) gravity = Vector3(0, 0, 0) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2ybet"] +vertex_color_use_as_albedo = true +albedo_color = Color(0, 0.734117, 0.734117, 1) + [sub_resource type="SphereMesh" id="SphereMesh_1m3ut"] +material = SubResource("StandardMaterial3D_2ybet") radius = 0.2 height = 0.4 radial_segments = 8 diff --git a/index.tscn b/index.tscn index e95e78e..37e4250 100644 --- a/index.tscn +++ b/index.tscn @@ -1,4 +1,6 @@ -[gd_scene load_steps=9 format=3 uid="uid://ccgnnif026wb4"] +[gd_scene load_steps=11 format=3 uid="uid://ccgnnif026wb4"] + +[ext_resource type="PackedScene" uid="uid://n40mg5tc3bnv" path="res://levels/demo_level.tscn" id="1_08svf"] [sub_resource type="GDScript" id="GDScript_8n212"] script/source = "extends Node @@ -10,19 +12,32 @@ var forest = preload(\"res://levels/forest/level.tscn\") var night = preload(\"res://levels/night/level.tscn\") func _ready() -> void: + $VictoryScreen.hide() + $Informations.hide() $PauseMenu.hide() ## Add the version of the game and the name of the OS to the footer of the start menu $StartMenu/VBoxContainer/MarginContainer2/Notice.text += \" - build \" + ProjectSettings.get_setting(\"application/config/version\") + \" (\" + OS.get_name() + \")\" func start_level(level_scene: PackedScene) -> void: + $VictoryScreen.hide() if level_scene and level_scene.can_instantiate(): - AudioServer.set_bus_volume_db(0, 0) var level = level_scene.instantiate() $Levels.add_child(level) $Timer.paused = false + AudioServer.set_bus_volume_db(0, 0) + PhysicsServer3D.area_set_param( + get_viewport().find_world_3d().space, + PhysicsServer3D.AREA_PARAM_GRAVITY_VECTOR, + Vector3.DOWN + ) changing_level = false else: - assert(false, \"NO LEVEL AAAA\") + $VictoryScreen.show() + await get_tree().create_timer(2).timeout + $StartMenu/AnimationPlayer.play_backwards(\"fadeout\") + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + await get_tree().create_timer(1).timeout + $StartMenu.modulate = Color(1,1,1,1) func stop_level() -> void: PhysicsServer3D.area_set_param(get_viewport().find_world_3d().space, PhysicsServer3D.AREA_PARAM_GRAVITY, 1) @@ -94,14 +109,23 @@ func _on_btn_fullscreen_pressed() -> void: fullscreen_game() func _on_btn_start_pressed() -> void: + seconds_spent = 0.0 + var current_levels = $Levels.get_children(true) + for level in current_levels: + level.queue_free() + + $Informations.show() $StartMenu/AnimationPlayer.play(\"fadeout\") Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN) start_level(base) - $Timer.start() + $Timer.start(0) func _on_animation_player_animation_finished(_anim_name: StringName) -> void: - $StartMenu.hide() + if $StartMenu.modulate == Color(1,1,1,1): + $StartMenu.show() + else: + $StartMenu.hide() func _on_timer_timeout() -> void: seconds_spent = snapped(seconds_spent + 0.10, 0.01) @@ -145,6 +169,11 @@ font_size = 32 outline_size = 10 outline_color = Color(0, 0, 0, 1) +[sub_resource type="LabelSettings" id="LabelSettings_1bs00"] +font_size = 160 +outline_size = 20 +outline_color = Color(0, 0, 0, 1) + [sub_resource type="LabelSettings" id="LabelSettings_0jegv"] font_size = 32 shadow_size = 2 @@ -204,6 +233,7 @@ _data = { script = SubResource("GDScript_8n212") [node name="Informations" type="Control" parent="."] +visible = false layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 @@ -249,6 +279,33 @@ label_settings = SubResource("LabelSettings_0s07t") horizontal_alignment = 2 vertical_alignment = 2 +[node name="VictoryScreen" type="Control" parent="."] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="VictoryScreen"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +text = "YOU WON!" +label_settings = SubResource("LabelSettings_1bs00") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="Levels" type="Node" parent="."] + +[node name="Demo" parent="Levels" instance=ExtResource("1_08svf")] + +[node name="Timer" type="Timer" parent="."] +wait_time = 0.1 + [node name="StartMenu" type="Control" parent="."] layout_mode = 3 anchors_preset = 15 @@ -264,7 +321,7 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -color = Color(0.546428, 0.471262, 0.491244, 1) +color = Color(0.522749, 0.477374, 0.510111, 0.501961) [node name="VBoxContainer" type="VBoxContainer" parent="StartMenu"] layout_mode = 1 @@ -375,11 +432,6 @@ libraries = { "": SubResource("AnimationLibrary_5cb2g") } -[node name="Levels" type="Node" parent="."] - -[node name="Timer" type="Timer" parent="."] -wait_time = 0.1 - [node name="PauseMenu" type="Control" parent="."] visible = false z_index = 2 @@ -391,6 +443,15 @@ grow_horizontal = 2 grow_vertical = 2 mouse_filter = 1 +[node name="ColorRect" type="ColorRect" parent="PauseMenu"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(1, 0.54902, 1, 0.109804) + [node name="VBoxContainer" type="VBoxContainer" parent="PauseMenu"] layout_mode = 1 anchors_preset = 14 @@ -423,10 +484,10 @@ layout_mode = 2 size_flags_vertical = 6 text = "QUIT game" +[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"] [connection signal="pressed" from="StartMenu/VBoxContainer/MarginContainer/HBoxContainer/Buttons/HBoxContainer/Btn_Fullscreen" to="." method="_on_btn_fullscreen_pressed"] [connection signal="pressed" from="StartMenu/VBoxContainer/MarginContainer/HBoxContainer/Buttons/HBoxContainer/Btn_Start" to="." method="_on_btn_start_pressed"] [connection signal="animation_finished" from="StartMenu/AnimationPlayer" to="." method="_on_animation_player_animation_finished"] -[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"] [connection signal="pressed" from="PauseMenu/VBoxContainer/Btn_Resume" to="." method="_on_btn_resume_pressed"] [connection signal="pressed" from="PauseMenu/VBoxContainer/Btn_Fullscreen2" to="." method="_on_btn_fullscreen_2_pressed"] [connection signal="pressed" from="PauseMenu/VBoxContainer/Btn_Restart" to="." method="_on_btn_restart_pressed"] diff --git a/levels/demo_level.tscn b/levels/demo_level.tscn new file mode 100644 index 0000000..056ed1f --- /dev/null +++ b/levels/demo_level.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=6 format=3 uid="uid://n40mg5tc3bnv"] + +[ext_resource type="Script" path="res://levels/level.gd" id="1_ifscd"] +[ext_resource type="PackedScene" uid="uid://b6gnffoboc5j5" path="res://levels/night/environment.tscn" id="2_v6rg2"] +[ext_resource type="PackedScene" uid="uid://q7frlnx37gv6" path="res://levels/night/music.tscn" id="3_fb0ct"] +[ext_resource type="PackedScene" uid="uid://cnnvwotv33u1b" path="res://elements/player.tscn" id="4_ge8id"] +[ext_resource type="PackedScene" uid="uid://cpm3laywhlbq5" path="res://elements/ring.tscn" id="5_j060p"] + +[node name="Demo" type="Node3D"] +script = ExtResource("1_ifscd") +metadata/name = "Demo" + +[node name="Environment" parent="." instance=ExtResource("2_v6rg2")] + +[node name="Music" parent="." instance=ExtResource("3_fb0ct")] + +[node name="Player" parent="." instance=ExtResource("4_ge8id")] + +[node name="Rings" type="Node3D" parent="."] + +[node name="Ring" parent="Rings" instance=ExtResource("5_j060p")] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 15.6731, -50) +visible = false + +[node name="Ring2" parent="Rings" instance=ExtResource("5_j060p")] +transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 10, -10, 0) + +[node name="Ring3" parent="Rings" instance=ExtResource("5_j060p")] +transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, -10, -10, 0)