Move Player logic to other project

This commit is contained in:
2025-03-07 01:26:14 -08:00
parent 1cb79f5b30
commit b7bf4f3d10
30 changed files with 20 additions and 64 deletions

View File

@@ -0,0 +1,24 @@
using Chickensoft.Introspection;
using Zennysoft.Game.Abstractions;
namespace Zennysoft.Game.Ma.Implementation;
public partial class PlayerLogic
{
public abstract partial record State
{
[Meta, Id("player_logic_state_disabled")]
public partial record Disabled : State, IGet<Input.Enable>
{
public Disabled()
{
OnAttach(() => Get<IAppRepo>().GameEntered += OnGameEntered);
OnDetach(() => Get<IAppRepo>().GameEntered -= OnGameEntered);
}
public Transition On(in Input.Enable input) => To<Idle>();
public void OnGameEntered() => Input(new Input.Enable());
}
}
}