Move GameLogic to new project

This commit is contained in:
2025-03-07 01:39:18 -08:00
parent b7bf4f3d10
commit 65e4af8595
28 changed files with 33 additions and 25 deletions

View File

@@ -0,0 +1,33 @@
namespace Zennysoft.Game.Ma.Implementation;
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();
}
}
}
}