using Chickensoft.Introspection; using Godot; namespace Zennysoft.Ma.Godot.Adapter; public partial class PlayerLogic { public partial record State { [Meta, Id("player_logic_alive")] public abstract partial record Alive : State, IGet, IGet { 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().GameEnded(); return To(); } } } }