fixed some bugs The Typening caused

This commit is contained in:
2024-03-23 22:36:19 +11:00
parent a93660f755
commit 3c28999cd9
29 changed files with 51 additions and 116 deletions

View File

@ -0,0 +1,19 @@
class_name HeroSelector extends Control
signal hero_selected(hero_class: int)
@export var hero_card_scene: PackedScene
@export var hbox: HBoxContainer
func _ready() -> void:
for hero: HeroClass in Data.characters:
var card: Control = hero_card_scene.instantiate()
card.set_hero(hero)
card.pressed.connect(func(x: int) -> void: hero_selected.emit(x))
card.button_mouse_entered.connect(_on_button_mouse_entered)
hbox.add_child(card)
func _on_button_mouse_entered() -> void:
$AudioStreamPlayer.play()

View File

@ -0,0 +1,49 @@
[gd_scene load_steps=5 format=3 uid="uid://dqqitmhu66a7d"]
[ext_resource type="Script" path="res://Scenes/Menus/CharacterSelect/charselect.gd" id="1_h2h26"]
[ext_resource type="PackedScene" uid="uid://bnsf2degj5tio" path="res://Scenes/UI/hero_card.tscn" id="1_v2mfo"]
[ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://shot1.wav" id="3_o88ca"]
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_ehpk7"]
random_pitch = 1.1
streams_count = 1
stream_0/stream = ExtResource("3_o88ca")
stream_0/weight = 1.0
[node name="Control" type="Control" node_paths=PackedStringArray("hbox")]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("1_h2h26")
hero_card_scene = ExtResource("1_v2mfo")
hbox = NodePath("CenterContainer/VBoxContainer/HBoxContainer")
[node name="CenterContainer" type="CenterContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="CenterContainer/VBoxContainer"]
layout_mode = 2
text = "Choose your hero"
horizontal_alignment = 1
vertical_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="CenterContainer/VBoxContainer"]
layout_mode = 2
alignment = 1
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = SubResource("AudioStreamRandomizer_ehpk7")
bus = &"SFX"

View File

@ -0,0 +1,74 @@
class_name MainMenu extends Control
@export var bg_level: Level
var confirmation_popup_scene: PackedScene = preload("res://Scenes/Menus/confirmation_popup.tscn")
var text_input_popup_scene: PackedScene = preload("res://Scenes/Menus/text_input_popup.tscn")
var multiplayer_lobby_scene_path: String = "res://Scenes/multiplayer_lobby.tscn"
var options_menu_scene: PackedScene = preload("res://Scenes/Menus/options_menu.tscn")
func _ready() -> void:
$ProfileEditor/VBoxContainer/HBoxContainer/DisplayName.text = Data.player_profile.display_name
bg_level.a_star_graph_3d.make_grid()
bg_level.a_star_graph_3d.find_path()
bg_level.a_star_graph_3d.build_random_maze(50)
bg_level.a_star_graph_3d.place_random_towers(20)
bg_level.a_star_graph_3d.disable_all_tower_frames()
Game.level = bg_level
var new_wave: Dictionary = WaveManager.generate_wave(400, bg_level.enemy_pool)
for spawn: EnemySpawner in bg_level.enemy_spawns:
spawn.enemy_died_callback = enemy_died
spawn.enemy_reached_goal_callback = damage_goal
spawn.enemy_spawned.connect(increase_enemy_count)
spawn.spawn_wave(new_wave)
#these exist purely to make the enemies that spawn on the main menu happy
func enemy_died(_some_arg: Enemy) -> void:
pass
func damage_goal(_some_arg1: int, _some_arg2: int) -> void:
pass
func increase_enemy_count() -> void:
pass
func _on_display_name_edit_pressed() -> void:
var popup: TextInputPopup = text_input_popup_scene.instantiate() as TextInputPopup
popup.set_popup(Data.player_profile.display_name, "Display Name", "Confirm")
popup.completed.connect(change_profile_display_name)
add_child(popup)
func change_profile_display_name(display_name: String) -> void:
$ProfileEditor/VBoxContainer/HBoxContainer/DisplayName.text = display_name
Data.player_profile.set_display_name(display_name)
func _on_quit_button_pressed() -> void:
var popup: ConfirmationPopup = confirmation_popup_scene.instantiate() as ConfirmationPopup
popup.set_popup("Are you sure you want to quit?", "Yes", "No")
popup.completed.connect(quit_game)
add_child(popup)
func quit_game(confirmation: bool) -> void:
if confirmation:
get_tree().quit()
func _on_play_button_pressed() -> void:
Game.scene_switch_to_singleplayer_lobby()
func _on_options_button_pressed() -> void:
var menu: OptionsMenu = options_menu_scene.instantiate()
add_child(menu)
func _on_multiplayer_button_pressed() -> void:
Game.scene_switch_to_multiplayer_lobby()
func _on_button_mouse_entered() -> void:
$AudioStreamPlayer.play()

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=8 format=3 uid="uid://8yv7excojcg0"]
[ext_resource type="Theme" uid="uid://b6a0ip4p72tgx" path="res://new_theme.tres" id="1_p1cib"]
[ext_resource type="Script" path="res://Scripts/main_menu.gd" id="2_ivytu"]
[ext_resource type="Script" path="res://Scenes/Menus/MainMenu/main_menu.gd" id="2_ivytu"]
[ext_resource type="Texture2D" uid="uid://lvvnrb5jugum" path="res://Assets/Textures/logo_title.png" id="3_8jkeb"]
[ext_resource type="PackedScene" uid="uid://y1qa1g3ic8sp" path="res://Worlds/GreenPlanet/Levels/first_level.tscn" id="3_l8r4a"]
[ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://shot1.wav" id="5_4c4cl"]

View File

@ -0,0 +1,50 @@
class_name PauseMenu extends Control
signal closed()
var options_menu_scene: PackedScene = preload("res://Scenes/Menus/options_menu.tscn")
var confirmation_popup_scene: PackedScene = preload("res://Scenes/Menus/confirmation_popup.tscn")
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("Pause"):
accept_event()
_on_resume_pressed()
func _on_resume_pressed() -> void:
closed.emit()
queue_free()
func _on_options_pressed() -> void:
var menu: OptionsMenu = options_menu_scene.instantiate()
add_child(menu)
func _on_quit_to_main_menu_pressed() -> void:
var popup: ConfirmationPopup = confirmation_popup_scene.instantiate() as ConfirmationPopup
popup.set_popup("Are you sure you want to quit and return to main menu?", "Yes", "No")
popup.completed.connect(return_to_menu)
add_child(popup)
func return_to_menu(confirmation: bool) -> void:
if confirmation:
Game.scene_switch_main_menu()
func _on_quit_to_desktop_pressed() -> void:
var popup: ConfirmationPopup = confirmation_popup_scene.instantiate() as ConfirmationPopup
popup.set_popup("Are you sure you want to quit?", "Yes", "No")
popup.completed.connect(quit_game)
add_child(popup)
func quit_game(confirmation: bool) -> void:
if confirmation:
Game.quit_to_desktop()
func _on_button_mouse_entered() -> void:
$AudioStreamPlayer.play()

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://buvgdem68wtev"]
[ext_resource type="Theme" uid="uid://b6a0ip4p72tgx" path="res://new_theme.tres" id="1_gaupv"]
[ext_resource type="Script" path="res://Scripts/pause_menu.gd" id="2_4pn2l"]
[ext_resource type="Script" path="res://Scenes/Menus/PauseMenu/pause_menu.gd" id="2_4pn2l"]
[ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://shot1.wav" id="3_q3xhn"]
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_n6ixr"]

View File

@ -4,7 +4,7 @@
[ext_resource type="Script" path="res://Scripts/multiplayer_lobby.gd" id="2_nb860"]
[ext_resource type="PackedScene" uid="uid://dpt3kpixawyby" path="res://Scenes/UI/scoreboard.tscn" id="3_f6bia"]
[ext_resource type="PackedScene" uid="uid://bvfit0sy2tnw4" path="res://Scenes/Menus/server_form.tscn" id="5_bqbwv"]
[ext_resource type="PackedScene" uid="uid://dqqitmhu66a7d" path="res://charselect.tscn" id="5_lvoo2"]
[ext_resource type="PackedScene" uid="uid://dqqitmhu66a7d" path="res://Scenes/Menus/CharacterSelect/charselect.tscn" id="5_lvoo2"]
[ext_resource type="PackedScene" uid="uid://ddmg342ff2qaq" path="res://Scenes/UI/chatbox.tscn" id="6_wtqwd"]
[ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://shot1.wav" id="7_npnbo"]

View File

@ -4,7 +4,7 @@
[ext_resource type="PackedScene" uid="uid://dpt3kpixawyby" path="res://Scenes/UI/scoreboard.tscn" id="1_423py"]
[ext_resource type="Script" path="res://Scripts/singleplayer_lobby.gd" id="1_nd17k"]
[ext_resource type="PackedScene" uid="uid://ddmg342ff2qaq" path="res://Scenes/UI/chatbox.tscn" id="3_l8xy3"]
[ext_resource type="PackedScene" uid="uid://dqqitmhu66a7d" path="res://charselect.tscn" id="5_vg5y0"]
[ext_resource type="PackedScene" uid="uid://dqqitmhu66a7d" path="res://Scenes/Menus/CharacterSelect/charselect.tscn" id="5_vg5y0"]
[ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://shot1.wav" id="6_qgq1v"]
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_g5har"]