diff --git a/Scripts/Resources/enemy.gd b/Scripts/Resources/enemy.gd index af787f1..2cce924 100644 --- a/Scripts/Resources/enemy.gd +++ b/Scripts/Resources/enemy.gd @@ -1,7 +1,8 @@ class_name Enemy extends Resource -@export var title: String = "dog" +@export var title: String = "enemy name goes here" +@export var description: String = "enemy description goes here" @export var target_type: Data.EnemyType @export var scene: PackedScene @export var icon: Texture diff --git a/UI/Menus/GameEndScreen/enemy_row.gd b/UI/Menus/GameEndScreen/enemy_row.gd index 7bbd2ed..e54ace0 100644 --- a/UI/Menus/GameEndScreen/enemy_row.gd +++ b/UI/Menus/GameEndScreen/enemy_row.gd @@ -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) diff --git a/UI/Menus/OptionsMenu/gameplay_options.tscn b/UI/Menus/OptionsMenu/gameplay_options.tscn index 110b8fe..c54cfd4 100644 --- a/UI/Menus/OptionsMenu/gameplay_options.tscn +++ b/UI/Menus/OptionsMenu/gameplay_options.tscn @@ -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"] diff --git a/UI/chatbox.tscn b/UI/chatbox.tscn index e2b13f6..a7ea535 100644 --- a/UI/chatbox.tscn +++ b/UI/chatbox.tscn @@ -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"] diff --git a/wave_viewer.gd b/wave_viewer.gd index c9e88cf..3b6b425 100644 --- a/wave_viewer.gd +++ b/wave_viewer.gd @@ -5,12 +5,16 @@ signal closed() @export var wave_vbox: VBoxContainer @export var enemy_row_scene: PackedScene +@export var enemy_icon_tex: TextureRect +@export var enemy_name_label: Label +@export var enemy_desc_label: RichTextLabel func set_waves(waves: Array[Wave], starting_wave_number: int) -> void: var i: int = starting_wave_number for wave: Wave in waves: var enemy_row: EnemyRow = enemy_row_scene.instantiate() as EnemyRow + enemy_row.enemy_clicked.connect(set_enemy_desc) wave_vbox.add_child(enemy_row) enemy_row.set_wave(i) i += 1 @@ -42,6 +46,12 @@ func group_to_count(group: EnemyCard) -> int: return count +func set_enemy_desc(enemy: Enemy) -> void: + enemy_name_label.text = tr(enemy.title) + enemy_icon_tex.texture = enemy.icon + enemy_desc_label.text = tr(enemy.description) + + func _on_button_2_pressed() -> void: closed.emit() queue_free() diff --git a/wave_viewer.tscn b/wave_viewer.tscn index 16f4e2e..d6aa3da 100644 --- a/wave_viewer.tscn +++ b/wave_viewer.tscn @@ -10,7 +10,7 @@ content_margin_top = 2.0 content_margin_right = 2.0 content_margin_bottom = 2.0 -[node name="WaveViewer" type="Control" node_paths=PackedStringArray("wave_vbox")] +[node name="WaveViewer" type="Control" node_paths=PackedStringArray("wave_vbox", "enemy_icon_tex", "enemy_name_label", "enemy_desc_label")] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 @@ -20,6 +20,9 @@ grow_vertical = 2 script = ExtResource("1_0v4fq") wave_vbox = NodePath("PanelContainer/VBoxContainer/HBoxContainer/ScrollContainer/Waves") enemy_row_scene = ExtResource("2_lbx3o") +enemy_icon_tex = NodePath("PanelContainer/VBoxContainer/HBoxContainer/EnemyDescription/TextureRect") +enemy_name_label = NodePath("PanelContainer/VBoxContainer/HBoxContainer/EnemyDescription/Label") +enemy_desc_label = NodePath("PanelContainer/VBoxContainer/HBoxContainer/EnemyDescription/RichTextLabel") [node name="PanelContainer" type="PanelContainer" parent="."] layout_mode = 1 @@ -54,22 +57,22 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer"] +[node name="EnemyDescription" type="VBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 -[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/HBoxContainer/VBoxContainer"] +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/HBoxContainer/EnemyDescription"] layout_mode = 2 text = "Big dawg" -[node name="TextureRect" type="TextureRect" parent="PanelContainer/VBoxContainer/HBoxContainer/VBoxContainer"] +[node name="TextureRect" type="TextureRect" parent="PanelContainer/VBoxContainer/HBoxContainer/EnemyDescription"] custom_minimum_size = Vector2(64, 64) layout_mode = 2 texture = ExtResource("2_tptaq") expand_mode = 1 stretch_mode = 5 -[node name="RichTextLabel" type="RichTextLabel" parent="PanelContainer/VBoxContainer/HBoxContainer/VBoxContainer"] +[node name="RichTextLabel" type="RichTextLabel" parent="PanelContainer/VBoxContainer/HBoxContainer/EnemyDescription"] layout_mode = 2 size_flags_vertical = 3 theme_override_styles/normal = SubResource("StyleBoxEmpty_0v4fq")