Files
GameJamDungeon/Zennysoft.Game.Ma.Implementation/Game/state/gamestates/GameState.State.FloorExitScreen.cs
T
2026-06-11 20:53:16 -07:00

33 lines
798 B
C#

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 FloorExitScreen : State, IGet<Input.LoadNextFloor>, IGet<Input.ReturnToOverworld>
{
public FloorExitScreen()
{
OnAttach(() => Get<IGameRepo>().Pause());
OnDetach(() => Get<IGameRepo>().Resume());
}
public Transition On(in Input.LoadNextFloor input)
{
Output(new Output.LoadNextFloor());
return To<InGame>();
}
public Transition On(in Input.ReturnToOverworld input)
{
Output(new Output.ReturnToOverworld());
return To<InGame>();
}
}
}
}