Added first setup of level-based system
This commit is contained in:
30
UI/Menus/MainMenu/level_selecter_main_menu.gd
Normal file
30
UI/Menus/MainMenu/level_selecter_main_menu.gd
Normal file
@@ -0,0 +1,30 @@
|
||||
class_name MainMenuLevelSelector extends PanelContainer
|
||||
|
||||
signal level_selected(specs: LevelSpecs)
|
||||
|
||||
var side: int = 0
|
||||
|
||||
@export var levels: Array[LevelSpecs] = []
|
||||
|
||||
func _on_button_pressed() -> void:
|
||||
side = 0
|
||||
$VBoxContainer/Label.text = "Standard Campaign Mode"
|
||||
|
||||
|
||||
func _on_button_2_pressed() -> void:
|
||||
side = 1
|
||||
$VBoxContainer/Label.text = "Endless Mode with random waves and all unlocked equipment"
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
var i: int = 0
|
||||
for level: LevelSpecs in levels:
|
||||
i += 1
|
||||
var button: Button = Button.new()
|
||||
button.text = "Level " + str(i)
|
||||
$VBoxContainer.add_child(button)
|
||||
button.pressed.connect(start_level.bind(i - 1))
|
||||
|
||||
|
||||
func start_level(level: int) -> void:
|
||||
level_selected.emit(levels[level])
|
||||
1
UI/Menus/MainMenu/level_selecter_main_menu.gd.uid
Normal file
1
UI/Menus/MainMenu/level_selecter_main_menu.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bwsw4oq150v3p
|
||||
@@ -104,6 +104,7 @@ func open_game_menu() -> void:
|
||||
func _on_back_button_pressed() -> void:
|
||||
main_controls.visible = true
|
||||
game_select_menu.visible = false
|
||||
|
||||
|
||||
|
||||
func generate_seed() -> void:
|
||||
@@ -117,6 +118,14 @@ func generate_seed() -> void:
|
||||
gamemode.rng_seed = randi()
|
||||
|
||||
|
||||
func level_selected(level: LevelSpecs) -> void:
|
||||
generate_seed()
|
||||
gamemode.endless = false
|
||||
gamemode.daily = false
|
||||
game.level_specs = level
|
||||
start_game()
|
||||
|
||||
|
||||
func _on_standard_button_pressed() -> void:
|
||||
generate_seed()
|
||||
gamemode.endless = false
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
|
||||
[ext_resource type="Script" uid="uid://ci8vq73u23viy" path="res://UI/Menus/MainMenu/main_menu.gd" id="2_ivytu"]
|
||||
[ext_resource type="AudioStream" uid="uid://cp6ph4ra7u5rk" path="res://UI/drop_003.ogg" id="5_cwn2i"]
|
||||
[ext_resource type="Script" uid="uid://bwsw4oq150v3p" path="res://UI/Menus/MainMenu/level_selecter_main_menu.gd" id="8_qshe4"]
|
||||
[ext_resource type="Script" uid="uid://dalgif6huggwg" path="res://Scripts/Resources/level_specs.gd" id="9_nt3t4"]
|
||||
[ext_resource type="Resource" uid="uid://b67b70x1uf2el" path="res://Level1/specs.tres" id="10_kjkav"]
|
||||
[ext_resource type="Resource" uid="uid://dffoufw4bnfn7" path="res://Level2/specs.tres" id="11_kjkav"]
|
||||
[ext_resource type="Texture2D" uid="uid://cr1ucbuw3iotp" path="res://Assets/Textures/first_win_achievements.png" id="15_74epv"]
|
||||
[ext_resource type="Script" uid="uid://cjr0pbqisd51v" path="res://UI/Menus/MainMenu/achievements_menu.gd" id="15_sv1gy"]
|
||||
[ext_resource type="Texture2D" uid="uid://cpa1hl36xfplg" path="res://Assets/Textures/first_scroll_seen.png" id="16_sv1gy"]
|
||||
@@ -33,8 +37,7 @@ anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("2_ivytu")
|
||||
bg_level = NodePath("")
|
||||
game_select_menu = NodePath("GameSelectMenu")
|
||||
game_select_menu = NodePath("PanelContainer")
|
||||
main_controls = NodePath("MainControls")
|
||||
seed_entry = NodePath("GameSelectMenu/VBoxContainer/HBoxContainer2/LineEdit")
|
||||
profile_controls = NodePath("ProfileManager")
|
||||
@@ -424,6 +427,49 @@ text = "BUTTON_CANCEL"
|
||||
layout_mode = 2
|
||||
text = "BUTTON_CONFIRM"
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="." unique_id=1673631030]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -6.0
|
||||
offset_top = -6.0
|
||||
offset_right = 6.0
|
||||
offset_bottom = 6.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("8_qshe4")
|
||||
levels = Array[ExtResource("9_nt3t4")]([ExtResource("10_kjkav"), ExtResource("11_kjkav")])
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer" unique_id=507718308]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Button" type="Button" parent="PanelContainer/VBoxContainer" unique_id=2127573853]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
text = "BUTTON_BACK"
|
||||
|
||||
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer" unique_id=654891125]
|
||||
layout_mode = 2
|
||||
text = "Standard Campaign Mode"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer" unique_id=776357424]
|
||||
layout_mode = 2
|
||||
alignment = 1
|
||||
|
||||
[node name="Button" type="Button" parent="PanelContainer/VBoxContainer/HBoxContainer" unique_id=1722538738]
|
||||
layout_mode = 2
|
||||
text = "A-SIDE"
|
||||
|
||||
[node name="Button2" type="Button" parent="PanelContainer/VBoxContainer/HBoxContainer" unique_id=708845101]
|
||||
layout_mode = 2
|
||||
text = "B-SIDE"
|
||||
|
||||
[connection signal="mouse_entered" from="MainControls/PlayButton" to="." method="_on_button_mouse_entered"]
|
||||
[connection signal="pressed" from="MainControls/PlayButton" to="." method="_on_play_button_pressed"]
|
||||
[connection signal="mouse_entered" from="MainControls/ModsButton" to="." method="_on_button_mouse_entered"]
|
||||
@@ -445,3 +491,7 @@ text = "BUTTON_CONFIRM"
|
||||
[connection signal="pressed" from="AchievementsMenu/VBoxContainer/HBoxContainer/Button" to="." method="_on_achievements_back_button_pressed"]
|
||||
[connection signal="pressed" from="ModsMenu/VBoxContainer/HBoxContainer/CancelMods" to="." method="_on_cancel_mods_pressed"]
|
||||
[connection signal="pressed" from="ModsMenu/VBoxContainer/HBoxContainer/ConfirmMods" to="." method="_on_confirm_mods_pressed"]
|
||||
[connection signal="level_selected" from="PanelContainer" to="." method="level_selected"]
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/Button" to="." method="_on_back_button_pressed"]
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/HBoxContainer/Button" to="PanelContainer" method="_on_button_pressed"]
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/HBoxContainer/Button2" to="PanelContainer" method="_on_button_2_pressed"]
|
||||
|
||||
Reference in New Issue
Block a user