using Chickensoft.Introspection; namespace Zennysoft.Ma.Adapter; public partial class GameLogic { public partial record State { [Meta] public partial record Playing : State, IGet, IGet, IGet { public Playing() { OnAttach(() => { Output(new Output.StartGame()); Output(new Output.LoadMap()); }); } public void OnEnded() => Input(new Input.GameOver()); public Transition On(in Input.AskForTeleport input) => To(); public Transition On(in Input.PauseGame input) => To(); public Transition On(in Input.GoToOverworld input) { Output(new Output.GoToOverworld()); return ToSelf(); } } } }