namespace Zennysoft.Ma.Adapter; using Chickensoft.Introspection; using Zennysoft.Game.Abstractions; public partial class GameLogic { public partial record State { [Meta] public partial record MenuBackdrop : State, IGet, IGet { public MenuBackdrop() { OnAttach(() => Get().GameEntered += OnGameEntered); OnDetach(() => Get().GameEntered -= OnGameEntered); } public void OnGameEntered() => Input(new Input.StartGame()); public Transition On(in Input.StartGame input) { Output(new Output.LoadMap()); return To(); } public Transition On(in Input.Initialize input) { return ToSelf(); } } } }