added clicking on enemies in the wave viewer

This commit is contained in:
2025-11-15 18:10:17 +11:00
parent 1a261dd0aa
commit b98f246b71
6 changed files with 36 additions and 43 deletions

View File

@@ -1,9 +1,13 @@
class_name EnemyRow
extends VBoxContainer
signal enemy_clicked(enemy: Enemy)
@export var wave_label: Label
@export var enemy_hbox: HBoxContainer
var last_pressed_button: Button
func set_wave(wave: int) -> void:
wave_label.text = tr("LABEL_WAVE").format({Wave_Number = str(wave)})
@@ -12,12 +16,13 @@ func set_wave(wave: int) -> void:
func add_enemy_tag(enemy: Enemy, num: int) -> void:
var container: MarginContainer = MarginContainer.new()
enemy_hbox.add_child(container)
var enemy_tex: TextureRect = TextureRect.new()
enemy_tex.texture_filter = CanvasItem.TEXTURE_FILTER_NEAREST
enemy_tex.texture = enemy.icon
enemy_tex.custom_minimum_size = Vector2(32, 32)
enemy_tex.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_CENTERED
container.add_child(enemy_tex)
var enemy_button: Button = Button.new()
enemy_button.icon = enemy.icon
enemy_button.texture_filter = CanvasItem.TEXTURE_FILTER_NEAREST
enemy_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER
enemy_button.custom_minimum_size = Vector2(32, 32)
enemy_button.pressed.connect(on_button_pressed.bind(enemy))
container.add_child(enemy_button)
var amount_label: Label = Label.new()
amount_label.size_flags_horizontal = Control.SIZE_EXPAND_FILL
amount_label.size_flags_vertical = Control.SIZE_EXPAND_FILL
@@ -25,3 +30,7 @@ func add_enemy_tag(enemy: Enemy, num: int) -> void:
amount_label.vertical_alignment = VERTICAL_ALIGNMENT_BOTTOM
amount_label.text = str(num)
container.add_child(amount_label)
func on_button_pressed(enemy: Enemy) -> void:
enemy_clicked.emit(enemy)

View File

@@ -70,35 +70,6 @@ size_flags_vertical = 1
step = 0.01
scrollable = false
[node name="MouseSens2" type="HBoxContainer" parent="."]
layout_mode = 2
alignment = 1
[node name="Label" type="Label" parent="MouseSens2"]
layout_mode = 2
size_flags_horizontal = 3
text = "OPTION_MOUSE_SENSITIVITY"
horizontal_alignment = 1
vertical_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="MouseSens2"]
layout_mode = 2
size_flags_horizontal = 3
[node name="SpinBox" type="SpinBox" parent="MouseSens2/HBoxContainer"]
layout_mode = 2
theme_override_icons/updown = SubResource("ImageTexture_03x6q")
step = 0.01
alignment = 1
update_on_text_changed = true
[node name="HSlider" type="HSlider" parent="MouseSens2/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
step = 0.01
scrollable = false
[node name="ToggleSprint" type="HBoxContainer" parent="."]
layout_mode = 2
@@ -218,5 +189,3 @@ text = "OPTION_STATUS_DAMAGE"
[connection signal="item_selected" from="Resolution/HBoxContainer/OptionButton" to="." method="_on_option_button_item_selected"]
[connection signal="value_changed" from="MouseSens/HBoxContainer/SpinBox" to="." method="_on_mouse_sens_spin_box_value_changed"]
[connection signal="value_changed" from="MouseSens/HBoxContainer/HSlider" to="." method="_on_mouse_sens_h_slider_value_changed"]
[connection signal="value_changed" from="MouseSens2/HBoxContainer/SpinBox" to="." method="_on_spin_box_value_changed"]
[connection signal="value_changed" from="MouseSens2/HBoxContainer/HSlider" to="." method="_on_h_slider_value_changed"]

View File

@@ -33,6 +33,7 @@ alignment = 2
modulate = Color(1, 1, 1, 0)
layout_mode = 2
size_flags_vertical = 3
mouse_filter = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_c3kb6")
[node name="RichTextLabel" type="RichTextLabel" parent="VBoxContainer/PanelContainer"]