using RobotAndDonkey.Game.Execution.Requests; using RobotAndDonkey.Game.GameState; using RobotAndDonkey.Game.Intents; namespace RobotAndDonkey.Game.Execution.Commands; public sealed record DestroyCardCommand(Guid RequestId, int HandIndex) : Command(RequestId, typeof(BufferOverflowRequest)) { protected override void CreateIntents(CoreLoop coreLoop, List intents) { var handCards = coreLoop.GetHandCards(); if (HandIndex < 0 || HandIndex >= handCards.Count) return; intents.Add(new DestroyCard(handCards[HandIndex])); } public override string ToString() { return $"Destroy card command {HandIndex}"; } }