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 } } }