From 645d1083fecf707a56b07c1fd52df4015885d9ce Mon Sep 17 00:00:00 2001 From: Sophia Pearson Date: Sun, 4 Sep 2022 13:29:53 +0200 Subject: game: add StatusLine behavior --- Scripts/Game.cs | 34 ---------------------------------- Scripts/Game/StatusLine.cs | 30 ++++++++++++++++++++++++++++++ Scripts/Texty.cs | 30 ------------------------------ 3 files changed, 30 insertions(+), 64 deletions(-) delete mode 100644 Scripts/Game.cs create mode 100644 Scripts/Game/StatusLine.cs delete mode 100644 Scripts/Texty.cs (limited to 'Scripts') diff --git a/Scripts/Game.cs b/Scripts/Game.cs deleted file mode 100644 index 07dab9a..0000000 --- a/Scripts/Game.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System.Diagnostics; -using Godot; - -namespace Texty.Scripts -{ - public abstract class Game : MarginContainer - { - public CommandParser CommandParser; - public VBoxContainer LayoutContainer; - public OutputContainer OutputContainer; - - [Export(PropertyHint.File, "*.tscn")] public PackedScene OutputRowScene; - - public override void _Ready() - { - Debug.Assert(OutputRowScene != null, $"The {nameof(OutputRowScene)} was not set!"); - - CommandParser = GetNode(nameof(CommandParser)); - LayoutContainer = GetNode(nameof(LayoutContainer)); - OutputContainer = LayoutContainer.GetNode(nameof(OutputContainer)); - } - - public void OnInputSubmitted(string text) - { - var newRow = OutputRowScene.Instance(); - newRow.InputText = text; - - var command = CommandParser.TryParse(text); - newRow.OutputText = command == null ? "Please rephrase your command" : "THE OUTPUT SHOULD GO HERE!"; - - OutputContainer.Add(newRow); - } - } -} \ No newline at end of file diff --git a/Scripts/Game/StatusLine.cs b/Scripts/Game/StatusLine.cs new file mode 100644 index 0000000..4a3fb23 --- /dev/null +++ b/Scripts/Game/StatusLine.cs @@ -0,0 +1,30 @@ +using Godot; + +namespace Texty.Scripts.Game +{ + public class StatusLine : PanelContainer + { + private string _titleText = "Title Text"; + + [Export] + public string Title + { + get => _titleText; + set + { + if (TitleLabel != null) + TitleLabel.Text = value; + _titleText = value; + } + } + + public RichTextLabel TitleLabel; + + public override void _Ready() + { + TitleLabel = GetNode($"%{nameof(TitleLabel)}"); + TitleLabel.Text = _titleText; + } + } +} + diff --git a/Scripts/Texty.cs b/Scripts/Texty.cs deleted file mode 100644 index 0101183..0000000 --- a/Scripts/Texty.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Godot; - -namespace Texty.Scripts -{ - public class Texty : Node - { - - public Game Game; - public StartMenu StartMenu; - - public override void _Ready() - { - Game = GetNode(nameof(Game)); - StartMenu = GetNode(nameof(StartMenu)); - } - - public void OnQuitGame() - { - GetTree().Notification(MainLoop.NotificationWmQuitRequest); - } - - public void OnStartGame() - { - StartMenu.Visible = false; - Game.Visible = true; - } - - } -} - -- cgit v1.2.3