using Chickensoft.Introspection; using Chickensoft.LogicBlocks; namespace Zennysoft.Ma.Adapter; public partial class GameState { public partial record State { [Meta, LogicBlock(typeof(State), Diagram = true)] public partial record InGame : State, IGet, IGet, IGet, IGet, IGet, IGet { public Transition On(in Input.InventoryButtonPressed input) { Output(new Output.OpenInventoryMenu()); return To(); } public Transition On(in Input.MiniMapButtonPressed input) { Output(new Output.OpenMiniMap()); return To(); } public Transition On(in Input.PauseButtonPressed input) { Output(new Output.OpenPauseScreen()); return To(); } public Transition On(in Input.DebugButtonPressed input) { Output(new Output.OpenDebugMenu()); return To(); } public Transition On(in Input.FloorExitEntered input) { Output(new Output.OpenFloorExitScreen()); return To(); } public Transition On(in Input.GameOver input) { Output(new Output.GameOver()); return To(); } } } }