33 lines
798 B
C#
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>();
|
|
}
|
|
}
|
|
}
|
|
}
|