From f20bd89dc4a7bf14a88b1effcaa1887b29314525 Mon Sep 17 00:00:00 2001 From: Sophia Pearson Date: Mon, 5 Sep 2022 20:35:53 +0200 Subject: gui: split GUI into Terminal components --- .gut_editor_config.json | 4 +- Assets/Styles/DefaultFlatPanel.tres | 4 - Assets/Styles/DefaultInvertedFlatPanel.tres | 4 - Scenes/Game/CommandInputArea.tscn | 12 + Scenes/Game/Game.tscn | 51 +-- Scenes/Game/Input.tscn | 38 -- Scenes/Game/Output.tscn | 29 -- Scenes/Game/OutputBlock.tscn | 15 - Scenes/Game/StatusLine.tscn | 28 -- Scenes/Terminal/InputArea.tscn | 27 ++ Scenes/Terminal/OutputArea.tscn | 18 + Scenes/Terminal/OutputBlock.tscn | 17 + Scenes/Terminal/Screen.tscn | 25 ++ Scenes/Terminal/StatusArea.tscn | 19 + Scripts/Game/CommandInputArea.cs | 31 ++ Scripts/Game/Game.cs | 11 +- Scripts/Game/Input.cs | 32 -- Scripts/Game/Output.cs | 45 --- Scripts/Game/OutputBlock.cs | 28 -- Scripts/Game/StatusLine.cs | 27 -- Scripts/Terminal/InputArea.cs | 15 + Scripts/Terminal/OutputArea.cs | 46 +++ Scripts/Terminal/OutputBlock.cs | 28 ++ Scripts/Terminal/StatusArea.cs | 27 ++ Tests/Game/test_CommandInputArea.gd | 89 +++++ Tests/Game/test_Game.gd | 50 +++ Tests/Game/test_Input.gd | 86 ---- Tests/Game/test_Output.gd | 51 --- Tests/Game/test_OutputBlock.gd | 32 -- Tests/Game/test_StatusLine.gd | 32 -- Tests/Terminal/test_OutputArea.gd | 51 +++ Tests/Terminal/test_OutputBlock.gd | 32 ++ Tests/Terminal/test_StatusArea.gd | 32 ++ Tests/ui_helpers.gd | 3 +- addons/gut/GutScene.gd | 27 +- addons/gut/GutScene.tscn | 3 - addons/gut/UserFileViewer.gd | 2 +- addons/gut/UserFileViewer.tscn | 2 - addons/gut/comparator.gd | 3 +- addons/gut/diff_tool.gd | 2 +- addons/gut/double_templates/init_template.txt | 3 + addons/gut/double_templates/script_template.txt | 3 +- addons/gut/doubler.gd | 15 +- addons/gut/fonts/OFL.txt | 2 +- addons/gut/gui/GutBottomPanel.gd | 230 ++++++----- addons/gut/gui/GutBottomPanel.tscn | 193 +++++---- addons/gut/gui/GutRunner.gd | 9 +- addons/gut/gui/OutputText.gd | 291 ++++++++++++++ addons/gut/gui/OutputText.tscn | 123 ++++++ addons/gut/gui/RunAtCursor.gd | 63 ++- addons/gut/gui/RunResults.gd | 509 ++++++++++++++++++++++++ addons/gut/gui/RunResults.tscn | 165 ++++++++ addons/gut/gui/arrow.png | 4 +- addons/gut/gui/gut_config_gui.gd | 7 +- addons/gut/gui/play.png | 4 +- addons/gut/gut.gd | 58 +-- addons/gut/gut_cmdln.gd | 2 +- addons/gut/gut_config.gd | 29 +- addons/gut/gut_plugin.gd | 3 +- addons/gut/icon.png | 4 +- addons/gut/images/green.png | 3 + addons/gut/images/green.png.import | 35 ++ addons/gut/images/red.png | 3 + addons/gut/images/red.png.import | 35 ++ addons/gut/images/yellow.png | 3 + addons/gut/images/yellow.png.import | 35 ++ addons/gut/input_factory.gd | 16 +- addons/gut/input_sender.gd | 13 + addons/gut/logger.gd | 10 + addons/gut/method_maker.gd | 55 ++- addons/gut/orphan_counter.gd | 2 +- addons/gut/parameter_factory.gd | 2 +- addons/gut/parameter_handler.gd | 2 +- addons/gut/plugin.cfg | 2 +- addons/gut/plugin_control.gd | 9 +- addons/gut/printers.gd | 19 + addons/gut/result_exporter.gd | 2 +- addons/gut/stub_params.gd | 31 +- addons/gut/stubber.gd | 14 +- addons/gut/summary.gd | 53 ++- addons/gut/test.gd | 42 +- addons/gut/test_collector.gd | 8 + addons/gut/utils.gd | 28 +- 83 files changed, 2389 insertions(+), 828 deletions(-) create mode 100644 Scenes/Game/CommandInputArea.tscn delete mode 100644 Scenes/Game/Input.tscn delete mode 100644 Scenes/Game/Output.tscn delete mode 100644 Scenes/Game/OutputBlock.tscn delete mode 100644 Scenes/Game/StatusLine.tscn create mode 100644 Scenes/Terminal/InputArea.tscn create mode 100644 Scenes/Terminal/OutputArea.tscn create mode 100644 Scenes/Terminal/OutputBlock.tscn create mode 100644 Scenes/Terminal/Screen.tscn create mode 100644 Scenes/Terminal/StatusArea.tscn create mode 100644 Scripts/Game/CommandInputArea.cs delete mode 100644 Scripts/Game/Input.cs delete mode 100644 Scripts/Game/Output.cs delete mode 100644 Scripts/Game/OutputBlock.cs delete mode 100644 Scripts/Game/StatusLine.cs create mode 100644 Scripts/Terminal/InputArea.cs create mode 100644 Scripts/Terminal/OutputArea.cs create mode 100644 Scripts/Terminal/OutputBlock.cs create mode 100644 Scripts/Terminal/StatusArea.cs create mode 100644 Tests/Game/test_CommandInputArea.gd create mode 100644 Tests/Game/test_Game.gd delete mode 100644 Tests/Game/test_Input.gd delete mode 100644 Tests/Game/test_Output.gd delete mode 100644 Tests/Game/test_OutputBlock.gd delete mode 100644 Tests/Game/test_StatusLine.gd create mode 100644 Tests/Terminal/test_OutputArea.gd create mode 100644 Tests/Terminal/test_OutputBlock.gd create mode 100644 Tests/Terminal/test_StatusArea.gd create mode 100644 addons/gut/double_templates/init_template.txt create mode 100644 addons/gut/gui/OutputText.gd create mode 100644 addons/gut/gui/OutputText.tscn create mode 100644 addons/gut/gui/RunResults.gd create mode 100644 addons/gut/gui/RunResults.tscn create mode 100644 addons/gut/images/green.png create mode 100644 addons/gut/images/green.png.import create mode 100644 addons/gut/images/red.png create mode 100644 addons/gut/images/red.png.import create mode 100644 addons/gut/images/yellow.png create mode 100644 addons/gut/images/yellow.png.import diff --git a/.gut_editor_config.json b/.gut_editor_config.json index d05bd4e..413f9f1 100644 --- a/.gut_editor_config.json +++ b/.gut_editor_config.json @@ -15,13 +15,13 @@ "inner_class": null, "junit_xml_file": "", "junit_xml_timestamp": false, - "log_level": 1, + "log_level": 0, "opacity": 100, "post_run_script": "", "pre_run_script": "", "prefix": "test_", "selected": null, - "should_exit": false, + "should_exit": true, "should_exit_on_success": true, "should_maximize": true, "compact_mode": false, diff --git a/Assets/Styles/DefaultFlatPanel.tres b/Assets/Styles/DefaultFlatPanel.tres index 0e6999b..3186dbe 100644 --- a/Assets/Styles/DefaultFlatPanel.tres +++ b/Assets/Styles/DefaultFlatPanel.tres @@ -1,8 +1,4 @@ [gd_resource type="StyleBoxFlat" format=2] [resource] -content_margin_left = 8.0 -content_margin_right = 8.0 -content_margin_top = 2.0 -content_margin_bottom = 2.0 bg_color = Color( 0, 0, 0, 1 ) diff --git a/Assets/Styles/DefaultInvertedFlatPanel.tres b/Assets/Styles/DefaultInvertedFlatPanel.tres index 4150cb5..16f668c 100644 --- a/Assets/Styles/DefaultInvertedFlatPanel.tres +++ b/Assets/Styles/DefaultInvertedFlatPanel.tres @@ -1,8 +1,4 @@ [gd_resource type="StyleBoxFlat" format=2] [resource] -content_margin_left = 8.0 -content_margin_right = 8.0 -content_margin_top = 2.0 -content_margin_bottom = 2.0 bg_color = Color( 0, 0.956863, 0, 1 ) diff --git a/Scenes/Game/CommandInputArea.tscn b/Scenes/Game/CommandInputArea.tscn new file mode 100644 index 0000000..b377443 --- /dev/null +++ b/Scenes/Game/CommandInputArea.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Scenes/Terminal/InputArea.tscn" type="PackedScene" id=1] +[ext_resource path="res://Scripts/Game/CommandParser.cs" type="Script" id=2] +[ext_resource path="res://Scripts/Game/CommandInputArea.cs" type="Script" id=3] + +[node name="CommandInputArea" instance=ExtResource( 1 )] +script = ExtResource( 3 ) + +[node name="CommandParser" type="Node" parent="." index="2"] +unique_name_in_owner = true +script = ExtResource( 2 ) diff --git a/Scenes/Game/Game.tscn b/Scenes/Game/Game.tscn index 7ea6324..e2f7bc2 100644 --- a/Scenes/Game/Game.tscn +++ b/Scenes/Game/Game.tscn @@ -1,38 +1,43 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=7 format=2] -[ext_resource path="res://Scenes/Game/StatusLine.tscn" type="PackedScene" id=1] -[ext_resource path="res://Scenes/Game/Output.tscn" type="PackedScene" id=2] -[ext_resource path="res://Scenes/Game/Input.tscn" type="PackedScene" id=3] +[ext_resource path="res://Scenes/Terminal/Screen.tscn" type="PackedScene" id=1] +[ext_resource path="res://Scenes/Terminal/OutputArea.tscn" type="PackedScene" id=2] +[ext_resource path="res://Scenes/Game/CommandInputArea.tscn" type="PackedScene" id=3] [ext_resource path="res://Scripts/Game/Game.cs" type="Script" id=4] -[ext_resource path="res://Scenes/Game/OutputBlock.tscn" type="PackedScene" id=5] +[ext_resource path="res://Scenes/Terminal/StatusArea.tscn" type="PackedScene" id=5] +[ext_resource path="res://Scenes/Terminal/OutputBlock.tscn" type="PackedScene" id=6] -[node name="Game" type="VBoxContainer"] -anchor_right = 1.0 -anchor_bottom = 1.0 -custom_constants/separation = 0 +[node name="Game" type="Node"] script = ExtResource( 4 ) -[node name="StatusLine" parent="." instance=ExtResource( 1 )] +[node name="Screen" parent="." instance=ExtResource( 1 )] + +[node name="TopBar" parent="Screen/ScreenContainer" index="0"] +margin_bottom = 27.0 + +[node name="StatusArea" parent="Screen/ScreenContainer/TopBar" index="0" instance=ExtResource( 5 )] unique_name_in_owner = true Title = "Adventure Title" -[node name="Output" parent="." instance=ExtResource( 2 )] +[node name="Content" parent="Screen/ScreenContainer" index="1"] +margin_top = 27.0 +margin_bottom = 455.0 + +[node name="OutputArea" parent="Screen/ScreenContainer/Content" index="0" instance=ExtResource( 2 )] unique_name_in_owner = true anchor_right = 0.0 anchor_bottom = 0.0 -margin_top = 31.0 margin_right = 640.0 -margin_bottom = 451.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -OutputBlockScene = ExtResource( 5 ) +margin_bottom = 428.0 +OutputBlockScene = ExtResource( 6 ) + +[node name="BottomBar" parent="Screen/ScreenContainer" index="2"] +margin_top = 455.0 -[node name="Input" parent="." instance=ExtResource( 3 )] +[node name="InputArea" parent="Screen/ScreenContainer/BottomBar" index="0" instance=ExtResource( 3 )] unique_name_in_owner = true -anchor_right = 0.0 -margin_top = 451.0 -margin_right = 640.0 -margin_bottom = 480.0 -[connection signal="CommandSubmitted" from="Input" to="." method="OnCommandSubmitted"] -[connection signal="UnknownInputSubmitted" from="Input" to="." method="OnUnknownInputSubmitted"] +[connection signal="CommandSubmitted" from="Screen/ScreenContainer/BottomBar/InputArea" to="." method="OnCommandSubmitted"] +[connection signal="UnknownInputSubmitted" from="Screen/ScreenContainer/BottomBar/InputArea" to="." method="OnUnknownInputSubmitted"] + +[editable path="Screen"] diff --git a/Scenes/Game/Input.tscn b/Scenes/Game/Input.tscn deleted file mode 100644 index baf5315..0000000 --- a/Scenes/Game/Input.tscn +++ /dev/null @@ -1,38 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://Scripts/Game/Input.cs" type="Script" id=1] -[ext_resource path="res://Scripts/Game/CommandParser.cs" type="Script" id=2] - -[node name="Input" type="PanelContainer"] -anchor_right = 1.0 -theme_type_variation = "InvertedPanelContainer" -script = ExtResource( 1 ) - -[node name="Container" type="HBoxContainer" parent="."] -margin_left = 8.0 -margin_top = 2.0 -margin_right = 632.0 -margin_bottom = 27.0 - -[node name="PromptLabel" type="Label" parent="Container"] -unique_name_in_owner = true -margin_right = 20.0 -margin_bottom = 25.0 -theme_type_variation = "InvertedLabel" -text = "?>" - -[node name="TextInput" type="LineEdit" parent="Container"] -unique_name_in_owner = true -margin_left = 28.0 -margin_right = 624.0 -margin_bottom = 25.0 -size_flags_horizontal = 3 -context_menu_enabled = false -selecting_enabled = false -caret_blink = true - -[node name="CommandParser" type="Node" parent="."] -unique_name_in_owner = true -script = ExtResource( 2 ) - -[connection signal="text_entered" from="Container/TextInput" to="." method="OnTextEntered"] diff --git a/Scenes/Game/Output.tscn b/Scenes/Game/Output.tscn deleted file mode 100644 index 70ca6c3..0000000 --- a/Scenes/Game/Output.tscn +++ /dev/null @@ -1,29 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://Scenes/Game/OutputBlock.tscn" type="PackedScene" id=1] -[ext_resource path="res://Scripts/Game/Output.cs" type="Script" id=2] - -[node name="Output" type="PanelContainer"] -anchor_right = 1.0 -anchor_bottom = 1.0 -script = ExtResource( 2 ) - -[node name="ScrollContainer" type="ScrollContainer" parent="."] -margin_left = 8.0 -margin_top = 2.0 -margin_right = 632.0 -margin_bottom = 478.0 -mouse_filter = 1 -scroll_horizontal_enabled = false - -[node name="LineContainer" type="VBoxContainer" parent="ScrollContainer"] -unique_name_in_owner = true -margin_right = 624.0 -margin_bottom = 476.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="OutputBlock" parent="ScrollContainer/LineContainer" instance=ExtResource( 1 )] -anchor_right = 0.0 -margin_right = 624.0 -margin_bottom = 27.0 diff --git a/Scenes/Game/OutputBlock.tscn b/Scenes/Game/OutputBlock.tscn deleted file mode 100644 index f4fc1dd..0000000 --- a/Scenes/Game/OutputBlock.tscn +++ /dev/null @@ -1,15 +0,0 @@ -[gd_scene load_steps=2 format=2] - -[ext_resource path="res://Scripts/Game/OutputBlock.cs" type="Script" id=1] - -[node name="OutputBlock" type="MarginContainer"] -anchor_right = 1.0 -script = ExtResource( 1 ) - -[node name="ContentLabel" type="RichTextLabel" parent="."] -unique_name_in_owner = true -margin_right = 640.0 -margin_bottom = 27.0 -bbcode_enabled = true -fit_content_height = true -scroll_active = false diff --git a/Scenes/Game/StatusLine.tscn b/Scenes/Game/StatusLine.tscn deleted file mode 100644 index fc167ec..0000000 --- a/Scenes/Game/StatusLine.tscn +++ /dev/null @@ -1,28 +0,0 @@ -[gd_scene load_steps=2 format=2] - -[ext_resource path="res://Scripts/Game/StatusLine.cs" type="Script" id=1] - -[node name="StatusLine" type="PanelContainer"] -margin_right = 640.0 -margin_bottom = 31.0 -theme_type_variation = "InvertedPanelContainer" -script = ExtResource( 1 ) - -[node name="Container" type="HBoxContainer" parent="."] -margin_left = 8.0 -margin_top = 2.0 -margin_right = 632.0 -margin_bottom = 29.0 -size_flags_horizontal = 3 - -[node name="TitleLabel" type="RichTextLabel" parent="Container"] -unique_name_in_owner = true -margin_right = 624.0 -margin_bottom = 27.0 -size_flags_horizontal = 3 -size_flags_vertical = 6 -theme_type_variation = "InvertedRichTextLabel" -bbcode_enabled = true -text = "This is where the title goes" -fit_content_height = true -scroll_active = false diff --git a/Scenes/Terminal/InputArea.tscn b/Scenes/Terminal/InputArea.tscn new file mode 100644 index 0000000..5532c6d --- /dev/null +++ b/Scenes/Terminal/InputArea.tscn @@ -0,0 +1,27 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Scripts/Terminal/InputArea.cs" type="Script" id=1] + +[node name="InputArea" type="HBoxContainer"] +margin_right = 640.0 +margin_bottom = 25.0 +script = ExtResource( 1 ) + +[node name="PromptLabel" type="Label" parent="."] +unique_name_in_owner = true +margin_right = 20.0 +margin_bottom = 25.0 +theme_type_variation = "InvertedLabel" +text = "?>" + +[node name="TextInput" type="LineEdit" parent="."] +unique_name_in_owner = true +margin_left = 28.0 +margin_right = 640.0 +margin_bottom = 25.0 +size_flags_horizontal = 3 +context_menu_enabled = false +selecting_enabled = false +caret_blink = true + +[connection signal="text_entered" from="TextInput" to="." method="OnTextEntered"] diff --git a/Scenes/Terminal/OutputArea.tscn b/Scenes/Terminal/OutputArea.tscn new file mode 100644 index 0000000..779b0b7 --- /dev/null +++ b/Scenes/Terminal/OutputArea.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Scripts/Terminal/OutputArea.cs" type="Script" id=1] + +[node name="OutputArea" type="ScrollContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 1 +scroll_horizontal_enabled = false +script = ExtResource( 1 ) + +[node name="LineContainer" type="VBoxContainer" parent="."] +unique_name_in_owner = true +margin_right = 640.0 +margin_bottom = 480.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/separation = 0 diff --git a/Scenes/Terminal/OutputBlock.tscn b/Scenes/Terminal/OutputBlock.tscn new file mode 100644 index 0000000..962aa0c --- /dev/null +++ b/Scenes/Terminal/OutputBlock.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Scripts/Terminal/OutputBlock.cs" type="Script" id=1] + +[node name="OutputBlock" type="MarginContainer"] +anchor_right = 1.0 +size_flags_horizontal = 3 +script = ExtResource( 1 ) + +[node name="ContentLabel" type="RichTextLabel" parent="."] +unique_name_in_owner = true +margin_right = 640.0 +margin_bottom = 27.0 +size_flags_horizontal = 3 +bbcode_enabled = true +fit_content_height = true +scroll_active = false diff --git a/Scenes/Terminal/Screen.tscn b/Scenes/Terminal/Screen.tscn new file mode 100644 index 0000000..b003db2 --- /dev/null +++ b/Scenes/Terminal/Screen.tscn @@ -0,0 +1,25 @@ +[gd_scene format=2] + +[node name="Screen" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 + +[node name="ScreenContainer" type="VBoxContainer" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +custom_constants/separation = 0 + +[node name="TopBar" type="PanelContainer" parent="ScreenContainer"] +margin_right = 640.0 +theme_type_variation = "InvertedPanelContainer" + +[node name="Content" type="PanelContainer" parent="ScreenContainer"] +margin_right = 640.0 +margin_bottom = 480.0 +size_flags_vertical = 3 + +[node name="BottomBar" type="PanelContainer" parent="ScreenContainer"] +margin_top = 480.0 +margin_right = 640.0 +margin_bottom = 480.0 +theme_type_variation = "InvertedPanelContainer" diff --git a/Scenes/Terminal/StatusArea.tscn b/Scenes/Terminal/StatusArea.tscn new file mode 100644 index 0000000..21bcd94 --- /dev/null +++ b/Scenes/Terminal/StatusArea.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Scripts/Terminal/StatusArea.cs" type="Script" id=1] + +[node name="StatusArea" type="HBoxContainer"] +margin_right = 640.0 +margin_bottom = 27.0 +script = ExtResource( 1 ) + +[node name="TitleLabel" type="RichTextLabel" parent="."] +unique_name_in_owner = true +margin_right = 640.0 +margin_bottom = 27.0 +size_flags_horizontal = 3 +theme_type_variation = "InvertedRichTextLabel" +bbcode_enabled = true +bbcode_text = "This is where the title goes" +text = "This is where the title goes" +fit_content_height = true diff --git a/Scripts/Game/CommandInputArea.cs b/Scripts/Game/CommandInputArea.cs new file mode 100644 index 0000000..7d0ba5c --- /dev/null +++ b/Scripts/Game/CommandInputArea.cs @@ -0,0 +1,31 @@ +using Godot; +using Texty.Scripts.Terminal; + +namespace Texty.Scripts.Game +{ + public class CommandInputArea : InputArea + { + [Signal] public delegate void CommandSubmitted(Command command); + [Signal] public delegate void UnknownInputSubmitted(string text); + + private CommandParser CommandParser => GetNodeOrNull($"%{nameof(CommandParser)}"); + + public override void _Ready() + { + TextInput.GrabFocus(); + } + + public override void OnTextEntered(string text) + { + if (text.Empty()) + return; + + TextInput.Clear(); + var command = CommandParser.TryParse(text); + if (command != null) + EmitSignal(nameof(CommandSubmitted), command); + else + EmitSignal(nameof(UnknownInputSubmitted), text); + } + } +} \ No newline at end of file diff --git a/Scripts/Game/Game.cs b/Scripts/Game/Game.cs index 50db736..ff7e4f7 100644 --- a/Scripts/Game/Game.cs +++ b/Scripts/Game/Game.cs @@ -1,12 +1,13 @@ using Godot; +using Texty.Scripts.Terminal; namespace Texty.Scripts.Game { public class Game : Node { - private Input Input => GetNodeOrNull($"%{nameof(Input)}"); - private Output Output => GetNodeOrNull($"%{nameof(Output)}"); - private StatusLine StatusLine => GetNodeOrNull($"%{nameof(StatusLine)}"); + private InputArea InputArea => GetNodeOrNull($"%{nameof(InputArea)}"); + private OutputArea OutputArea => GetNodeOrNull($"%{nameof(OutputArea)}"); + private StatusArea StatusArea => GetNodeOrNull($"%{nameof(StatusArea)}"); public override void _Ready() { @@ -14,12 +15,12 @@ namespace Texty.Scripts.Game public void OnCommandSubmitted(Command command) { - Output.Push($"! {command}"); + OutputArea.Push($"! {command}"); } public void OnUnknownInputSubmitted(string text) { - Output.Push($"? {text}"); + OutputArea.Push($"? {text}"); } } } \ No newline at end of file diff --git a/Scripts/Game/Input.cs b/Scripts/Game/Input.cs deleted file mode 100644 index 90a9962..0000000 --- a/Scripts/Game/Input.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Godot; - -namespace Texty.Scripts.Game -{ - public class Input : PanelContainer - { - [Signal] public delegate void CommandSubmitted(Command command); - [Signal] public delegate void UnknownInputSubmitted(string text); - - private CommandParser CommandParser => GetNodeOrNull($"%{nameof(CommandParser)}"); - private Label PromptLabel => GetNodeOrNull