Files
GameJamDungeon/Zennysoft.Game.Ma.Implementation/Player/State/States/PlayerLogic.State.Alive.cs

29 lines
635 B
C#

using Chickensoft.Introspection;
using Godot;
namespace Zennysoft.Ma.Adapter;
public partial class PlayerLogic
{
public partial record State
{
[Meta, Id("player_logic_alive")]
public partial record Alive : State, IGet<Input.PhysicsTick>, IGet<Input.Die>
{
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.Die input)
{
GD.Print("Player died");
Get<IGameRepo>().GameEnded();
return To<Dead>();
}
}
}
}