Files
GameJamDungeon/Zennysoft.Game.Ma.Implementation/Game/state/gamestates/GameState.State.MainMenu..cs
2025-10-22 16:24:07 -07:00

35 lines
877 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 MainMenu : State, IGet<Input.NewGame>, IGet<Input.ContinueGame>, IGet<Input.LoadGame>
{
public Transition On(in Input.NewGame input)
{
Output(new Output.InitializeGame());
return To<InGame>();
}
public Transition On(in Input.ContinueGame input)
{
Output(new Output.InitializeGame());
Output(new Output.LoadGameFromFile());
return To<InGame>();
}
public Transition On(in Input.LoadGame input)
{
Output(new Output.InitializeGame());
Output(new Output.LoadGameFromFile());
return To<InGame>();
}
}
}
}