finish coding

This commit is contained in:
Taevas 2025-02-23 17:21:13 +01:00
parent 2f066938ac
commit 45e9b99f80
3 changed files with 108 additions and 13 deletions

View file

@ -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

View file

@ -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,13 +109,22 @@ 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:
if $StartMenu.modulate == Color(1,1,1,1):
$StartMenu.show()
else:
$StartMenu.hide()
func _on_timer_timeout() -> void:
@ -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"]

29
levels/demo_level.tscn Normal file
View file

@ -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)