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,27 @@
using Chickensoft.Introspection;
using Godot;
namespace Zennysoft.Game.Ma.Implementation;
public partial class PlayerLogic
{
public partial record State
{
[Meta, Id("player_logic_alive")]
public abstract partial record Alive : State, IGet<Input.PhysicsTick>, IGet<Input.Killed>
{
public virtual Transition On(in Input.PhysicsTick input)
{
var delta = input.Delta;
Output(new Output.Move((float)delta));
return ToSelf();
}
public Transition On(in Input.Killed input)
{
GD.Print("Player died");
return To<Dead>();
}
}
}
}