small death animation and toolbox
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 35s
Create tag and build when new code gets to main / Test (push) Successful in 6m20s
Create tag and build when new code gets to main / Export (push) Successful in 7m20s

This commit is contained in:
2026-01-27 16:42:31 +01:00
parent f1f0febf29
commit 056a68b0ad
19 changed files with 413 additions and 48 deletions

View File

@@ -19,7 +19,7 @@ func add_levels_to_container() -> void:
var max_level_reached := GameState.get_max_level_reached()
var level_iter := 0
for file_path in scene_lister.files:
if level_iter > max_level_reached : break
# if level_iter > max_level_reached : break
level_iter += 1
var file_name := file_path.get_file() # e.g., "level_1.tscn"
file_name = file_name.trim_suffix(".tscn") # Remove the ".tscn" extension

View File

@@ -43,7 +43,7 @@ item_0/text = "1 - ExampleLevel"
[node name="SceneLister" type="Node" parent="."]
script = ExtResource("3_stdqw")
files = Array[String](["res://menus/scenes/game_scene/levels/level_1.tscn", "res://menus/scenes/game_scene/levels/level_2.tscn", "res://menus/scenes/game_scene/levels/level_3.tscn"])
files = Array[String](["res://maps/level1.tscn", "res://maps/city.tscn", "res://maps/GYMs/enemies.tscn", "res://maps/GYMs/metrics.tscn"])
directory = "res://menus/scenes/game_scene/levels"
[connection signal="item_activated" from="Control/LevelButtonsContainer" to="." method="_on_level_buttons_container_item_activated"]

View File

@@ -44,7 +44,7 @@ func _input(event : InputEvent) -> void:
func _add_level_select_if_set() -> void:
if level_select_packed_scene == null: return
if GameState.get_max_level_reached() <= 0 : return
# if GameState.get_max_level_reached() <= 0 : return
level_select_scene = level_select_packed_scene.instantiate()
level_select_scene.hide()
%LevelSelectContainer.call_deferred("add_child", level_select_scene)
@@ -53,6 +53,7 @@ func _add_level_select_if_set() -> void:
%LevelSelectButton.show()
func _show_continue_if_set() -> void:
return
if GameState.has_game_state():
%ContinueGameButton.show()

View File

@@ -1,7 +1,8 @@
[gd_scene load_steps=19 format=3 uid="uid://vm22i5sv3p3s"]
[gd_scene load_steps=20 format=3 uid="uid://vm22i5sv3p3s"]
[ext_resource type="PackedScene" uid="uid://c6k5nnpbypshi" path="res://addons/maaacks_game_template/base/scenes/menus/main_menu/main_menu.tscn" id="1_my8ii"]
[ext_resource type="Script" uid="uid://c0ntfmiuw4ttg" path="res://menus/scenes/menus/main_menu/main_menu_with_animations.gd" id="2_nyjay"]
[ext_resource type="PackedScene" uid="uid://fybssggvts5q" path="res://menus/scenes/menus/level_select_menu/level_select_menu.tscn" id="3_8i6b8"]
[ext_resource type="AudioStream" uid="uid://f8cvr5s041ej" path="res://assets/audio/ambiance/637083__nox_sound__ambiance_nature_night_cricket_calm_loop_stereo.wav" id="3_tvvjd"]
[ext_resource type="Resource" uid="uid://c2hpxkcujyc13" path="res://systems/inputs/menu_mode/menu_mode.tres" id="3_ytpwg"]
[ext_resource type="Resource" uid="uid://ck43v3q5ype3f" path="res://systems/inputs/menu_mode/back.tres" id="4_8i6b8"]
@@ -352,8 +353,8 @@ graph_offset = Vector2(-180.277, 49)
[node name="MainMenu" instance=ExtResource("1_my8ii")]
script = ExtResource("2_nyjay")
level_select_packed_scene = null
game_scene_path = "uid://dmkw8cmalm5k"
level_select_packed_scene = ExtResource("3_8i6b8")
game_scene_path = "uid://bx3cd2hoaok3k"
menu_context = ExtResource("3_ytpwg")
back_action = ExtResource("4_8i6b8")
@@ -378,14 +379,14 @@ modulate = Color(1, 1, 1, 0)
modulate = Color(1, 1, 1, 0)
[node name="TitleLabel" parent="MenuContainer/TitleMargin/TitleContainer" index="0"]
text = "Swoosh"
text = "Lightmæres"
lock = true
[node name="SubTitleContainer" parent="MenuContainer/SubTitleMargin" index="0"]
modulate = Color(1, 1, 1, 0)
[node name="SubTitleLabel" parent="MenuContainer/SubTitleMargin/SubTitleContainer" index="0"]
text = "A prototype"
text = "pre-alpha build"
[node name="MenuButtonsContainer" parent="MenuContainer/MenuButtonsMargin" index="0"]
modulate = Color(1, 1, 1, 0)
@@ -398,13 +399,11 @@ text = "Start"
[node name="ContinueGameButton" type="Button" parent="MenuContainer/MenuButtonsMargin/MenuButtonsContainer/MenuButtonsBoxContainer" index="1"]
unique_name_in_owner = true
visible = false
layout_mode = 2
text = "Continue"
[node name="LevelSelectButton" type="Button" parent="MenuContainer/MenuButtonsMargin/MenuButtonsContainer/MenuButtonsBoxContainer" index="2"]
unique_name_in_owner = true
visible = false
layout_mode = 2
text = "Level Select"

View File

@@ -0,0 +1,10 @@
@tool
@icon("res://assets/ui/IconGodotNode/control/icon_gear_2.png")
class_name Toolbox
extends OverlaidMenu
@export var player: PlayerController
func _on_kill_player_button_pressed() -> void:
get_tree().create_timer(1).timeout.connect(player.Kill)
close()

View File

@@ -0,0 +1 @@
uid://cu4q0we3xmm1g

View File

@@ -0,0 +1,78 @@
[gd_scene load_steps=3 format=3 uid="uid://bcn582q8qd4ns"]
[ext_resource type="Script" uid="uid://cu4q0we3xmm1g" path="res://menus/scenes/overlaid_menus/toolbox.gd" id="1_licsr"]
[ext_resource type="Script" uid="uid://1nf36h0gms3q" path="res://addons/maaacks_game_template/base/scripts/capture_focus.gd" id="2_6ax4q"]
[node name="Toolbox" type="Control"]
process_mode = 3
top_level = true
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_licsr")
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 1
anchors_preset = 9
anchor_bottom = 1.0
offset_right = 512.0
grow_vertical = 2
theme_override_constants/margin_left = 32
theme_override_constants/margin_top = 32
theme_override_constants/margin_right = 32
theme_override_constants/margin_bottom = 32
[node name="MenuPanelContainer" type="PanelContainer" parent="MarginContainer"]
unique_name_in_owner = true
process_mode = 3
layout_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="MarginContainer/MenuPanelContainer"]
layout_mode = 2
theme_override_constants/margin_left = 16
theme_override_constants/margin_top = 16
theme_override_constants/margin_right = 16
theme_override_constants/margin_bottom = 16
[node name="BoxContainer" type="BoxContainer" parent="MarginContainer/MenuPanelContainer/MarginContainer"]
layout_mode = 2
vertical = true
[node name="TitleMargin" type="MarginContainer" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer"]
layout_mode = 2
[node name="TitleLabel" type="Label" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/TitleMargin"]
layout_mode = 2
theme_override_font_sizes/font_size = 24
text = "Toolbox"
horizontal_alignment = 1
[node name="PlayerSection" type="MarginContainer" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer"]
layout_mode = 2
theme_override_constants/margin_top = 16
theme_override_constants/margin_bottom = 16
[node name="MenuButtons" type="BoxContainer" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSection"]
unique_name_in_owner = true
custom_minimum_size = Vector2(128, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 3
theme_override_constants/separation = 16
alignment = 1
vertical = true
script = ExtResource("2_6ax4q")
[node name="PlayerSectionLabel" type="Label" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSection/MenuButtons"]
layout_mode = 2
text = "Player"
[node name="KillPlayerButton" type="Button" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSection/MenuButtons"]
unique_name_in_owner = true
layout_mode = 2
text = "Kill in 1s"
[connection signal="pressed" from="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSection/MenuButtons/KillPlayerButton" to="." method="_on_kill_player_button_pressed"]