added wave viewer which required adding determinism to wave generation

This commit is contained in:
2025-11-06 22:16:59 +11:00
parent 19b5589b27
commit 3cb37faf4b
38 changed files with 438 additions and 312 deletions

View File

@@ -3,6 +3,7 @@ extends CharacterBody3D
signal ready_state_changed(state: bool)
@export var wave_preview_scene: PackedScene
@export var hero_class: HeroClass
@export var camera: Camera3D
@export var gun_camera: Camera3D
@@ -184,6 +185,7 @@ func increment_selected() -> void:
if hand_selected_index >= hand.size:
hand_selected_index = 0
hud.hot_wheel.update_cassettes(get_wheel_cards())
hud.show_features(selected_card)
func decrement_selected() -> void:
@@ -194,6 +196,7 @@ func decrement_selected() -> void:
if hand_selected_index < 0:
hand_selected_index = hand.size - 1
hud.hot_wheel.update_cassettes(get_wheel_cards())
hud.show_features(selected_card)
func get_wheel_cards() -> Array[Card]:
@@ -243,6 +246,12 @@ func _unhandled_input(event: InputEvent) -> void:
menu.quit_to_main_menu_pressed.connect(game_manager.scene_switch_main_menu)
menu.closed.connect(unpause)
hud.add_child(menu)
if event.is_action_pressed("Show Wave Preview"):
var wave_preview: WaveViewer = wave_preview_scene.instantiate() as WaveViewer
pause()
hud.add_child(wave_preview)
wave_preview.set_waves(game_manager.pre_generate_waves(), game_manager.wave)
wave_preview.closed.connect(unpause)
func ready_self() -> void:

View File

@@ -1,8 +1,9 @@
[gd_scene load_steps=67 format=3 uid="uid://dxgxbtf68lcv5"]
[gd_scene load_steps=68 format=3 uid="uid://dxgxbtf68lcv5"]
[ext_resource type="Script" uid="uid://1fqpoegbdm6n" path="res://PCs/hero.gd" id="1_pihpe"]
[ext_resource type="Resource" uid="uid://b5pc3frhx467q" path="res://Classes/Engineer/class.tres" id="2_dbyo0"]
[ext_resource type="PackedScene" uid="uid://ri8r03wqy80t" path="res://Scenes/8_direction_sprite.tscn" id="2_ib0t5"]
[ext_resource type="PackedScene" uid="uid://ct6gic4shy5qw" path="res://wave_viewer.tscn" id="2_o55s8"]
[ext_resource type="PackedScene" uid="uid://buvgdem68wtev" path="res://UI/Menus/PauseMenu/pause_menu.tscn" id="3_avnsx"]
[ext_resource type="PackedScene" uid="uid://n8ab1cy7ordc" path="res://card_model/3d_card.tscn" id="4_2mqvj"]
[ext_resource type="Script" uid="uid://cij76at0nbs1v" path="res://PCs/view_movement.gd" id="4_mhexa"]
@@ -118,6 +119,7 @@ stream_0/stream = ExtResource("37_kv1mg")
collision_layer = 2
collision_mask = 37
script = ExtResource("1_pihpe")
wave_preview_scene = ExtResource("2_o55s8")
hero_class = ExtResource("2_dbyo0")
camera = NodePath("ViewMovement/Head")
gun_camera = NodePath("FirstPersonViewport/Head2")

View File

@@ -126,7 +126,6 @@ func _process(_delta: float) -> void:
func show_features(cassette: Card) -> void:
print("shown features")
for child: Node in feature_preview.get_children():
child.queue_free()
var cols: int = max(cassette.tower_stats.features.size(), cassette.weapon_stats.features.size())