using Chickensoft.Introspection; using Chickensoft.LogicBlocks; namespace Zennysoft.Game.Ma.Implementation; public partial class GameLogic { public partial record State { [Meta] public partial record Paused : Playing, IGet { public Paused() { this.OnEnter(() => { Get().Pause(); Output(new Output.ShowPauseMenu()); }); this.OnExit(() => Output(new Output.ExitPauseMenu())); } public virtual Transition On(in Input.UnpauseGame input) => To(); } } }