diff options
| author | Sophia Pearson <codergal89@gmail.com> | 2022-09-07 11:22:35 +0200 |
|---|---|---|
| committer | Sophia Pearson <codergal89@gmail.com> | 2022-09-07 11:22:35 +0200 |
| commit | ccd374cbedd87528c85d497fa7bef9b0c90815e9 (patch) | |
| tree | d146de06e0d91a30d37b6d8ccb4d6e5b7dceda03 /Scripts/Menus/MainMenuButtons.cs | |
| parent | 23a3b14f4d3662f20d7202aeb569b789b520ba57 (diff) | |
| download | texty-ccd374cbedd87528c85d497fa7bef9b0c90815e9.tar.xz texty-ccd374cbedd87528c85d497fa7bef9b0c90815e9.zip | |
menus: implement main menu and building blocks
Diffstat (limited to 'Scripts/Menus/MainMenuButtons.cs')
| -rw-r--r-- | Scripts/Menus/MainMenuButtons.cs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Scripts/Menus/MainMenuButtons.cs b/Scripts/Menus/MainMenuButtons.cs new file mode 100644 index 0000000..c2af034 --- /dev/null +++ b/Scripts/Menus/MainMenuButtons.cs @@ -0,0 +1,39 @@ +using System; +using Godot; +using Texty.Scripts.Terminal; + +namespace Texty.Scripts.Menus +{ + public class MainMenuButtons : ButtonBlock + { + [Signal] public delegate void CreditsButtonPressed(); + [Signal] public delegate void QuitButtonPressed(); + [Signal] public delegate void StartButtonPressed(); + + protected override void OnButtonPressed(int index) + { + if (!Enum.IsDefined(typeof(Buttons), 1)) return; + switch ((Buttons)index) + { + case Buttons.Start: + EmitSignal(nameof(StartButtonPressed)); + break; + case Buttons.Credits: + EmitSignal(nameof(CreditsButtonPressed)); + break; + case Buttons.Quit: + EmitSignal(nameof(QuitButtonPressed)); + break; + default: + throw new ArgumentOutOfRangeException(nameof(index), index, "Button not implemented!"); + } + } + + private enum Buttons + { + Start = 0, + Credits = 1, + Quit = 2 + } + } +}
\ No newline at end of file |
