23 lines
726 B
C#
23 lines
726 B
C#
using System;
|
|
using System.Linq;
|
|
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 DiscardCommand(Guid RequestId, Guid[] CardIds) : Command(RequestId, typeof(ExecuteProgramRequest))
|
|
{
|
|
protected override void CreateIntents(CoreLoop coreLoop, List<Intent> intents)
|
|
{
|
|
var cost = CardIds.Length * Balancing.Instance.DiscardEnergyCost;
|
|
intents.Add(new Discard(CardIds, cost));
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"Discard cards command {string.Join(", ", CardIds.Select(id => id.ToString()))}";
|
|
}
|
|
}
|