Files
GameJamDungeon/Zennysoft.Game.Ma.Implementation/Game/state/states/GameLogic.State.MenuBackdrop.cs
2025-03-08 13:49:46 -08:00

34 lines
787 B
C#

namespace Zennysoft.Ma.Godot.Adapter;
using Chickensoft.Introspection;
using Zennysoft.Game.Abstractions;
public partial class GameLogic
{
public partial record State
{
[Meta]
public partial record MenuBackdrop : State, IGet<Input.StartGame>, IGet<Input.Initialize>
{
public MenuBackdrop()
{
OnAttach(() => Get<IAppRepo>().GameEntered += OnGameEntered);
OnDetach(() => Get<IAppRepo>().GameEntered -= OnGameEntered);
}
public void OnGameEntered() => Input(new Input.StartGame());
public Transition On(in Input.StartGame input)
{
Output(new Output.LoadMap());
return To<Playing>();
}
public Transition On(in Input.Initialize input)
{
return ToSelf();
}
}
}
}