using System; using RobotAndDonkey.Game.Board; using RobotAndDonkey.Game.Cards; namespace RobotAndDonkey.Game.Execution.Results; public enum EInvalidReason { NotFound, Invariant, Blocked, OutOfBounds, NoEnergy, NoTarget, NoAmount, AlreadyExecuted, Invalid, NoSpace } public record InvalidInstructionResult(Guid RequestId, EInvalidReason Reason, Card? Card, Cell? Cell) : Result(RequestId) { public override string ToString() { return $"Invalid instruction result: {Reason}, {Card}, {Cell}"; } }