way too many changes to list, oops. big rewrite.
This commit is contained in:
9
Scenes/Menus/MainMenu/achievements_menu.gd
Normal file
9
Scenes/Menus/MainMenu/achievements_menu.gd
Normal file
@ -0,0 +1,9 @@
|
||||
extends PanelContainer
|
||||
|
||||
func _ready() -> void:
|
||||
if Data.save_data.wins > 0:
|
||||
$VBoxContainer/GridContainer/FirstWin.icon.region = Rect2(36, 0, 36, 36)
|
||||
if Data.save_data.mage_card_seen_in_shop:
|
||||
$VBoxContainer/GridContainer/SeenMageCard.icon.region = Rect2(36, 0, 36, 36)
|
||||
if Data.save_data.mage_unlocked:
|
||||
$VBoxContainer/GridContainer/UnlockedMage.icon.region = Rect2(36, 0, 36, 36)
|
1
Scenes/Menus/MainMenu/achievements_menu.gd.uid
Normal file
1
Scenes/Menus/MainMenu/achievements_menu.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://cjr0pbqisd51v
|
@ -1,27 +1,36 @@
|
||||
class_name MainMenu extends Control
|
||||
|
||||
@export var bg_level: Level
|
||||
@export var game_select_menu: Control
|
||||
@export var main_controls: Control
|
||||
@export var seed_entry: LineEdit
|
||||
@export var profile_controls: Control
|
||||
@export var mods_controls: ModMenu
|
||||
|
||||
var gamemode: GameMode = GameMode.new()
|
||||
|
||||
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")
|
||||
var temp_data: SaveData
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
$ProfileEditor/VBoxContainer/HBoxContainer/DisplayName.text = Data.player_profile.display_name
|
||||
load_stats(Data.save_data)
|
||||
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)
|
||||
WaveManager.generate_wave(400, bg_level.enemy_pool, bg_level.enemy_spawns)
|
||||
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)
|
||||
spawn.spawn_wave()
|
||||
|
||||
|
||||
#these exist purely to make the enemies that spawn on the main menu happy
|
||||
@ -34,10 +43,9 @@ func increase_enemy_count() -> void:
|
||||
|
||||
|
||||
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)
|
||||
$ProfileManager.visible = true
|
||||
$ProfileManager/VBoxContainer/DisplayName/LineEdit.placeholder_text = Data.player_profile.display_name
|
||||
temp_data = SaveData.load_profile_from_disk()
|
||||
|
||||
|
||||
func change_profile_display_name(display_name: String) -> void:
|
||||
@ -57,20 +65,130 @@ func quit_game(confirmation: bool) -> void:
|
||||
get_tree().quit()
|
||||
|
||||
|
||||
func _on_play_button_pressed() -> void:
|
||||
Game.level = null
|
||||
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.level = null
|
||||
Game.scene_switch_to_multiplayer_lobby()
|
||||
|
||||
|
||||
func _on_button_mouse_entered() -> void:
|
||||
$AudioStreamPlayer.play()
|
||||
|
||||
|
||||
func start_game() -> void:
|
||||
Game.level = null
|
||||
Game.gamemode = gamemode
|
||||
if gamemode.multiplayer:
|
||||
Game.scene_switch_to_multiplayer_lobby()
|
||||
else:
|
||||
Game.scene_switch_to_singleplayer_lobby()
|
||||
|
||||
|
||||
func _on_play_button_pressed() -> void:
|
||||
gamemode.multiplayer = false
|
||||
open_game_menu()
|
||||
|
||||
|
||||
func _on_multiplayer_button_pressed() -> void:
|
||||
gamemode.multiplayer = true
|
||||
open_game_menu()
|
||||
|
||||
|
||||
func open_game_menu() -> void:
|
||||
main_controls.visible = false
|
||||
game_select_menu.visible = true
|
||||
|
||||
|
||||
func _on_back_button_pressed() -> void:
|
||||
main_controls.visible = true
|
||||
game_select_menu.visible = false
|
||||
|
||||
|
||||
func generate_seed() -> void:
|
||||
if seed_entry.text != "":
|
||||
if seed_entry.text.is_valid_int():
|
||||
gamemode.rng_seed = int(seed_entry.text)
|
||||
else:
|
||||
gamemode.rng_seed = hash(seed_entry.text)
|
||||
gamemode.seeded = true
|
||||
else:
|
||||
gamemode.rng_seed = randi()
|
||||
|
||||
|
||||
func _on_standard_button_pressed() -> void:
|
||||
generate_seed()
|
||||
gamemode.endless = false
|
||||
gamemode.daily = false
|
||||
start_game()
|
||||
|
||||
|
||||
func _on_daily_button_pressed() -> void:
|
||||
gamemode.seed = hash(Time.get_date_string_from_system(true))
|
||||
gamemode.endless = false
|
||||
gamemode.daily = true
|
||||
start_game()
|
||||
|
||||
|
||||
func _on_endless_button_pressed() -> void:
|
||||
generate_seed()
|
||||
gamemode.endless = true
|
||||
gamemode.daily = false
|
||||
start_game()
|
||||
|
||||
|
||||
func _on_changelog_button_pressed() -> void:
|
||||
main_controls.visible = true
|
||||
profile_controls.visible = true
|
||||
$Changelog.queue_free()
|
||||
|
||||
|
||||
func load_stats(stats: SaveData) -> void:
|
||||
$ProfileManager/VBoxContainer/Stats/Wins/Label2.text = str(stats.wins)
|
||||
$ProfileManager/VBoxContainer/Stats/Losses/Label2.text = str(stats.losses)
|
||||
$ProfileManager/VBoxContainer/Stats/Winrate/Label2.text = str(int(stats.wins / 20.0))
|
||||
$ProfileManager/VBoxContainer/Stats/EngineerCardsBought/Label2.text = str(stats.engineer_cards_bought)
|
||||
$ProfileManager/VBoxContainer/Stats/MageCardsBought/Label2.text = str(stats.mage_cards_bought)
|
||||
|
||||
|
||||
func _on_achievements_back_button_pressed() -> void:
|
||||
$AchievementsMenu.visible = false
|
||||
|
||||
|
||||
func _on_achievements_button_pressed() -> void:
|
||||
$AchievementsMenu.visible = true
|
||||
|
||||
|
||||
func _on_profile_manager_cancel_pressed() -> void:
|
||||
$ProfileManager.visible = false
|
||||
|
||||
|
||||
func _on_profile_manager_confirm_pressed() -> void:
|
||||
$ProfileManager.visible = false
|
||||
if $ProfileManager/VBoxContainer/DisplayName/LineEdit.text != "":
|
||||
change_profile_display_name($ProfileManager/VBoxContainer/DisplayName/LineEdit.text)
|
||||
$ProfileManager/VBoxContainer/DisplayName/LineEdit.text = ""
|
||||
Data.save_data = temp_data
|
||||
Data.save_data.save_to_disc()
|
||||
|
||||
|
||||
func _on_unlock_all_pressed() -> void:
|
||||
temp_data.unlock_all_content()
|
||||
|
||||
|
||||
func _on_lock_all_pressed() -> void:
|
||||
temp_data.lock_all_content()
|
||||
|
||||
|
||||
func _on_mods_button_pressed() -> void:
|
||||
profile_controls.visible = false
|
||||
main_controls.visible = false
|
||||
mods_controls.visible = true
|
||||
|
||||
|
||||
func _on_cancel_mods_pressed() -> void:
|
||||
profile_controls.visible = true
|
||||
main_controls.visible = true
|
||||
mods_controls.visible = false
|
||||
|
||||
|
||||
func _on_confirm_mods_pressed() -> void:
|
||||
mods_controls.load_mod_list()
|
||||
|
1
Scenes/Menus/MainMenu/main_menu.gd.uid
Normal file
1
Scenes/Menus/MainMenu/main_menu.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://ci8vq73u23viy
|
@ -1,21 +1,75 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://8yv7excojcg0"]
|
||||
[gd_scene load_steps=27 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://Scenes/Menus/MainMenu/main_menu.gd" id="2_ivytu"]
|
||||
[ext_resource type="Theme" uid="uid://b6a0ip4p72tgx" path="res://UI/new_theme.tres" id="1_p1cib"]
|
||||
[ext_resource type="Script" uid="uid://ci8vq73u23viy" 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://cp6ph4ra7u5rk" path="res://Scenes/UI/drop_003.ogg" id="5_cwn2i"]
|
||||
[ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="5_u514r"]
|
||||
[ext_resource type="Texture2D" uid="uid://cdnhe2mi5c5ln" path="res://Assets/Textures/dead_eye_dog.png" id="6_rsxwm"]
|
||||
[ext_resource type="Texture2D" uid="uid://g00wwrlxxdc5" path="res://Assets/Textures/icon_eye_dog.png" id="7_2sylv"]
|
||||
[ext_resource type="Texture2D" uid="uid://dj13g1w14mekw" path="res://Assets/Textures/eye_dog.png" id="8_1vnym"]
|
||||
[ext_resource type="Resource" uid="uid://cvehqh4tt28g7" path="res://Resources/Enemies/dog_fast.tres" id="9_hdp0s"]
|
||||
[ext_resource type="Resource" uid="uid://dxi17xvdlhkvc" path="res://Resources/Enemies/dog_heavy.tres" id="10_day26"]
|
||||
[ext_resource type="Resource" uid="uid://boik1gnpl4v0a" path="res://Resources/Enemies/dog_boss.tres" id="11_1mes0"]
|
||||
[ext_resource type="Resource" uid="uid://dsgkwh3opyqtx" path="res://Resources/Enemies/airenemy.tres" id="12_5vny5"]
|
||||
[ext_resource type="Resource" uid="uid://bffhb5krs5elm" path="res://Resources/Enemies/airenemy2.tres" id="13_xb7gj"]
|
||||
[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://Scenes/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"]
|
||||
[ext_resource type="Texture2D" uid="uid://ctbi3gm1me1t5" path="res://Assets/Textures/unlock_mage_achievement.png" id="17_6t4jd"]
|
||||
[ext_resource type="Script" uid="uid://cxrm2naq75jo1" path="res://mod_menu.gd" id="19_6t4jd"]
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_5u75i"]
|
||||
viewport_path = NodePath("SubViewport")
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_sv1gy"]
|
||||
resource_local_to_scene = true
|
||||
atlas = ExtResource("8_1vnym")
|
||||
region = Rect2(0, 0, 32, 32)
|
||||
|
||||
[sub_resource type="Resource" id="Resource_6t4jd"]
|
||||
resource_local_to_scene = true
|
||||
script = ExtResource("5_u514r")
|
||||
title = "dog"
|
||||
target_type = 1
|
||||
icon = ExtResource("7_2sylv")
|
||||
death_sprite = ExtResource("6_rsxwm")
|
||||
sprite = SubResource("AtlasTexture_sv1gy")
|
||||
spawn_power = 10
|
||||
health = 180
|
||||
penalty = 10
|
||||
movement_speed = 1.2
|
||||
spawn_cooldown = 1.2
|
||||
common_group = 1
|
||||
common_cost = 1
|
||||
uncommon_group = 1
|
||||
uncommon_cost = 1
|
||||
rare_group = 1
|
||||
rare_cost = 1
|
||||
epic_group = 1
|
||||
epic_cost = 1
|
||||
legendary_group = 1
|
||||
legendary_cost = 1
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_2jyua"]
|
||||
random_pitch = 1.1
|
||||
streams_count = 1
|
||||
stream_0/stream = ExtResource("5_cwn2i")
|
||||
stream_0/weight = 1.0
|
||||
|
||||
[node name="MainMenu" type="Control" node_paths=PackedStringArray("bg_level")]
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_y5bw6"]
|
||||
atlas = ExtResource("15_74epv")
|
||||
region = Rect2(0, 0, 36, 36)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_q26na"]
|
||||
atlas = ExtResource("16_sv1gy")
|
||||
region = Rect2(0, 0, 36, 36)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3aj5m"]
|
||||
atlas = ExtResource("17_6t4jd")
|
||||
region = Rect2(0, 0, 36, 36)
|
||||
|
||||
[node name="MainMenu" type="Control" node_paths=PackedStringArray("bg_level", "game_select_menu", "main_controls", "seed_entry", "profile_controls", "mods_controls")]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
@ -25,6 +79,11 @@ grow_vertical = 2
|
||||
theme = ExtResource("1_p1cib")
|
||||
script = ExtResource("2_ivytu")
|
||||
bg_level = NodePath("SubViewport/GridMap")
|
||||
game_select_menu = NodePath("GameSelectMenu")
|
||||
main_controls = NodePath("MainControls")
|
||||
seed_entry = NodePath("GameSelectMenu/VBoxContainer/HBoxContainer2/LineEdit")
|
||||
profile_controls = NodePath("ProfileEditor")
|
||||
mods_controls = NodePath("PanelContainer")
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="."]
|
||||
layout_mode = 1
|
||||
@ -68,6 +127,10 @@ text = "Play"
|
||||
layout_mode = 2
|
||||
text = "Multiplayer"
|
||||
|
||||
[node name="ModsButton" type="Button" parent="MainControls"]
|
||||
layout_mode = 2
|
||||
text = "Mods"
|
||||
|
||||
[node name="OptionsButton" type="Button" parent="MainControls"]
|
||||
layout_mode = 2
|
||||
text = "Options
|
||||
@ -97,8 +160,7 @@ layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ProfileEditor/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Display Name
|
||||
"
|
||||
text = "Current Profile"
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="ProfileEditor/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
@ -118,12 +180,13 @@ theme_override_constants/margin_bottom = 4
|
||||
[node name="DisplayNameEdit" type="Button" parent="ProfileEditor/VBoxContainer/HBoxContainer/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Change"
|
||||
text = "View Profile"
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="."]
|
||||
size = Vector2i(1920, 1080)
|
||||
|
||||
[node name="GridMap" parent="SubViewport" instance=ExtResource("3_l8r4a")]
|
||||
enemy_pool = Array[ExtResource("5_u514r")]([SubResource("Resource_6t4jd"), ExtResource("9_hdp0s"), ExtResource("10_day26"), ExtResource("11_1mes0"), ExtResource("12_5vny5"), ExtResource("13_xb7gj")])
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = SubResource("AudioStreamRandomizer_2jyua")
|
||||
@ -133,13 +196,436 @@ bus = &"SFX"
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 100, 0)
|
||||
current = true
|
||||
|
||||
[node name="GameSelectMenu" type="PanelContainer" parent="."]
|
||||
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 = -20.0
|
||||
offset_top = -20.0
|
||||
offset_right = 20.0
|
||||
offset_bottom = 20.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="GameSelectMenu"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="GameSelectMenu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="BackButton" type="Button" parent="GameSelectMenu/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Back"
|
||||
|
||||
[node name="Title" type="Label" parent="GameSelectMenu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Select a game to begin"
|
||||
|
||||
[node name="StandardButton" type="Button" parent="GameSelectMenu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Standard (20 waves)"
|
||||
|
||||
[node name="DailyButton" type="Button" parent="GameSelectMenu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Daily Challenge"
|
||||
|
||||
[node name="EndlessButton" type="Button" parent="GameSelectMenu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Endless"
|
||||
|
||||
[node name="HBoxContainer2" type="HBoxContainer" parent="GameSelectMenu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="GameSelectMenu/VBoxContainer/HBoxContainer2"]
|
||||
layout_mode = 2
|
||||
text = "Seed:"
|
||||
|
||||
[node name="LineEdit" type="LineEdit" parent="GameSelectMenu/VBoxContainer/HBoxContainer2"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
placeholder_text = "leave blank for random game"
|
||||
|
||||
[node name="Changelog" type="PanelContainer" parent="."]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 200.0
|
||||
offset_top = 100.0
|
||||
offset_right = -200.0
|
||||
offset_bottom = -100.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="Changelog"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="Changelog/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Changelog"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="Changelog/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="Changelog/VBoxContainer/ScrollContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
alignment = 1
|
||||
|
||||
[node name="Label6" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label10" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Added: New Mage card: Ascension"
|
||||
|
||||
[node name="Label13" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Added: New Mechanic card: Overclock"
|
||||
|
||||
[node name="Label11" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Fixed: Interaction text now properly disappears if the wave starts"
|
||||
|
||||
[node name="Label3" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "Fixed: Refrigerator tower now applies cold to enemies"
|
||||
|
||||
[node name="Label12" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "Fixed: Seed now correctly changes on consecutive random seed runs"
|
||||
|
||||
[node name="Label4" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label5" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Balance: Increased Bubble movement speed 1.5 > 2.0"
|
||||
|
||||
[node name="Label7" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Balance: Increased Spike health 9 > 12"
|
||||
|
||||
[node name="Label8" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Balance: Increased Heavy Dog speed 0.8 > 0.9"
|
||||
|
||||
[node name="Label14" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Balance: Decreased Boss Dog speed 1.0 > 0.8"
|
||||
|
||||
[node name="Label15" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Balance: Increased Boss Dog health 1000 > 3000"
|
||||
|
||||
[node name="Label16" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Balance: Increased Boss Dog spawn chance"
|
||||
|
||||
[node name="Label9" type="Label" parent="Changelog/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Balance: Adjusted Glue Launcher rarity [Uncommon -> Common]"
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Changelog/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
alignment = 2
|
||||
|
||||
[node name="Button" type="Button" parent="Changelog/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Close"
|
||||
|
||||
[node name="ProfileManager" type="PanelContainer" parent="."]
|
||||
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 = -20.0
|
||||
offset_top = -20.0
|
||||
offset_right = 20.0
|
||||
offset_bottom = 20.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="ProfileManager"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="TitleBar" type="Label" parent="ProfileManager/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Profile Viewer"
|
||||
|
||||
[node name="DisplayName" type="HBoxContainer" parent="ProfileManager/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ProfileManager/VBoxContainer/DisplayName"]
|
||||
layout_mode = 2
|
||||
text = "Display Name"
|
||||
|
||||
[node name="LineEdit" type="LineEdit" parent="ProfileManager/VBoxContainer/DisplayName"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
placeholder_text = "Display name"
|
||||
alignment = 1
|
||||
|
||||
[node name="Stats" type="VBoxContainer" parent="ProfileManager/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ProfileManager/VBoxContainer/Stats"]
|
||||
layout_mode = 2
|
||||
text = "Stats"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Wins" type="HBoxContainer" parent="ProfileManager/VBoxContainer/Stats"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ProfileManager/VBoxContainer/Stats/Wins"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Wins"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="ProfileManager/VBoxContainer/Stats/Wins"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "0"
|
||||
horizontal_alignment = 2
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Losses" type="HBoxContainer" parent="ProfileManager/VBoxContainer/Stats"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ProfileManager/VBoxContainer/Stats/Losses"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Losses"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="ProfileManager/VBoxContainer/Stats/Losses"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "0"
|
||||
horizontal_alignment = 2
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Winrate" type="HBoxContainer" parent="ProfileManager/VBoxContainer/Stats"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ProfileManager/VBoxContainer/Stats/Winrate"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Winrate (last 20 games)"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="ProfileManager/VBoxContainer/Stats/Winrate"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "0"
|
||||
horizontal_alignment = 2
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="EngineerCardsBought" type="HBoxContainer" parent="ProfileManager/VBoxContainer/Stats"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ProfileManager/VBoxContainer/Stats/EngineerCardsBought"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "plans bought"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="ProfileManager/VBoxContainer/Stats/EngineerCardsBought"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "0"
|
||||
horizontal_alignment = 2
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="MageCardsBought" type="HBoxContainer" parent="ProfileManager/VBoxContainer/Stats"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ProfileManager/VBoxContainer/Stats/MageCardsBought"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "scrolls bought"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="ProfileManager/VBoxContainer/Stats/MageCardsBought"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "0"
|
||||
horizontal_alignment = 2
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="UnlockAll" type="Button" parent="ProfileManager/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Unlock All Content"
|
||||
|
||||
[node name="LockAll" type="Button" parent="ProfileManager/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Lock All Content"
|
||||
|
||||
[node name="AchievementsButton" type="Button" parent="ProfileManager/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "View Achievements"
|
||||
|
||||
[node name="Controls" type="HBoxContainer" parent="ProfileManager/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Cancel" type="Button" parent="ProfileManager/VBoxContainer/Controls"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Cancel"
|
||||
|
||||
[node name="Confirm" type="Button" parent="ProfileManager/VBoxContainer/Controls"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Confirm"
|
||||
|
||||
[node name="AchievementsMenu" type="PanelContainer" parent="."]
|
||||
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 = -20.0
|
||||
offset_top = -20.0
|
||||
offset_right = 20.0
|
||||
offset_bottom = 20.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("15_sv1gy")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="AchievementsMenu"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="AchievementsMenu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="AchievementsMenu/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Achievements"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Button" type="Button" parent="AchievementsMenu/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Back"
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="AchievementsMenu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
columns = 9
|
||||
|
||||
[node name="FirstWin" type="Button" parent="AchievementsMenu/VBoxContainer/GridContainer"]
|
||||
custom_minimum_size = Vector2(140, 140)
|
||||
layout_mode = 2
|
||||
tooltip_text = "What could I possibly have to do to earn this??"
|
||||
icon = SubResource("AtlasTexture_y5bw6")
|
||||
icon_alignment = 1
|
||||
expand_icon = true
|
||||
|
||||
[node name="SeenMageCard" type="Button" parent="AchievementsMenu/VBoxContainer/GridContainer"]
|
||||
custom_minimum_size = Vector2(140, 140)
|
||||
layout_mode = 2
|
||||
tooltip_text = "Who would use this old thing anyway?"
|
||||
icon = SubResource("AtlasTexture_q26na")
|
||||
icon_alignment = 1
|
||||
expand_icon = true
|
||||
|
||||
[node name="UnlockedMage" type="Button" parent="AchievementsMenu/VBoxContainer/GridContainer"]
|
||||
custom_minimum_size = Vector2(140, 140)
|
||||
layout_mode = 2
|
||||
tooltip_text = "Ok, here me out
|
||||
"
|
||||
icon = SubResource("AtlasTexture_3aj5m")
|
||||
icon_alignment = 1
|
||||
expand_icon = true
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="."]
|
||||
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 = -20.0
|
||||
offset_top = -20.0
|
||||
offset_right = 20.0
|
||||
offset_bottom = 20.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("19_6t4jd")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Mods"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="PanelContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(800, 400)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/ScrollContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
alignment = 2
|
||||
|
||||
[node name="CancelMods" type="Button" parent="PanelContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Confirm"
|
||||
|
||||
[node name="ConfirmMods" type="Button" parent="PanelContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Confirm"
|
||||
|
||||
[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/MultiplayerButton" to="." method="_on_button_mouse_entered"]
|
||||
[connection signal="pressed" from="MainControls/MultiplayerButton" to="." method="_on_multiplayer_button_pressed"]
|
||||
[connection signal="mouse_entered" from="MainControls/ModsButton" to="." method="_on_button_mouse_entered"]
|
||||
[connection signal="pressed" from="MainControls/ModsButton" to="." method="_on_mods_button_pressed"]
|
||||
[connection signal="mouse_entered" from="MainControls/OptionsButton" to="." method="_on_button_mouse_entered"]
|
||||
[connection signal="pressed" from="MainControls/OptionsButton" to="." method="_on_options_button_pressed"]
|
||||
[connection signal="mouse_entered" from="MainControls/QuitButton" to="." method="_on_button_mouse_entered"]
|
||||
[connection signal="pressed" from="MainControls/QuitButton" to="." method="_on_quit_button_pressed"]
|
||||
[connection signal="mouse_entered" from="ProfileEditor/VBoxContainer/HBoxContainer/MarginContainer/DisplayNameEdit" to="." method="_on_button_mouse_entered"]
|
||||
[connection signal="pressed" from="ProfileEditor/VBoxContainer/HBoxContainer/MarginContainer/DisplayNameEdit" to="." method="_on_display_name_edit_pressed"]
|
||||
[connection signal="pressed" from="GameSelectMenu/VBoxContainer/HBoxContainer/BackButton" to="." method="_on_back_button_pressed"]
|
||||
[connection signal="pressed" from="GameSelectMenu/VBoxContainer/StandardButton" to="." method="_on_standard_button_pressed"]
|
||||
[connection signal="pressed" from="GameSelectMenu/VBoxContainer/DailyButton" to="." method="_on_daily_button_pressed"]
|
||||
[connection signal="pressed" from="GameSelectMenu/VBoxContainer/EndlessButton" to="." method="_on_endless_button_pressed"]
|
||||
[connection signal="pressed" from="Changelog/VBoxContainer/HBoxContainer/Button" to="." method="_on_changelog_button_pressed"]
|
||||
[connection signal="pressed" from="ProfileManager/VBoxContainer/UnlockAll" to="." method="_on_unlock_all_pressed"]
|
||||
[connection signal="pressed" from="ProfileManager/VBoxContainer/LockAll" to="." method="_on_lock_all_pressed"]
|
||||
[connection signal="pressed" from="ProfileManager/VBoxContainer/AchievementsButton" to="." method="_on_achievements_button_pressed"]
|
||||
[connection signal="pressed" from="ProfileManager/VBoxContainer/Controls/Cancel" to="." method="_on_profile_manager_cancel_pressed"]
|
||||
[connection signal="pressed" from="ProfileManager/VBoxContainer/Controls/Confirm" to="." method="_on_profile_manager_confirm_pressed"]
|
||||
[connection signal="pressed" from="AchievementsMenu/VBoxContainer/HBoxContainer/Button" to="." method="_on_achievements_back_button_pressed"]
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/HBoxContainer/CancelMods" to="." method="_on_cancel_mods_pressed"]
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/HBoxContainer/ConfirmMods" to="." method="_on_confirm_mods_pressed"]
|
||||
|
Reference in New Issue
Block a user