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