using System; using System.Collections.Generic; using RobotAndDonkey.Game.Data; using RobotAndDonkey.Game.Execution.Requests; using RobotAndDonkey.Game.GameState; using RobotAndDonkey.Game.Intents; namespace RobotAndDonkey.Game.Execution.Commands; public sealed record DeferCardCommand(Guid RequestId) : Command(RequestId, typeof(DrawGlitchRequest)) { protected override void CreateIntents(CoreLoop coreLoop, List intents) { intents.Add(new DeferGlitch(Balancing.Instance.GetDeferGlitchEnergyCost(coreLoop.DeferGlitchCount))); intents.Add(new NextGlitch()); intents.Add(new NextPhase(ERunPhase.Improve)); } public override string ToString() { return $"Defer card command"; } }