using Chickensoft.Introspection; using Chickensoft.LogicBlocks; using Godot; namespace Zennysoft.Ma.Adapter; public partial class GameState { public partial record State { [Meta, LogicBlock(typeof(State), Diagram = true)] public partial record AskForTeleportScreen : State, IGet, IGet { public AskForTeleportScreen() { OnAttach(() => Get().Pause()); } public Transition On(in Input.ReturnToMainMenu input) { return To(); } public Transition On(in Input.UseTeleport input) { Output(new Output.OpenFloorExitScreen()); return To(); } public Transition On(in Input.CloseTeleport input) { return To(); } } } }