protected Card(CardCost cost) { Id = Guid.NewGuid(); Cost = cost; _currentZone = new NullZone(); _zoneChanger = zone => _currentZone = zone; }
protected Card(CardCategory category, int cost, int pointValue) { _currentZone = new NullZone(); _zoneChanger = zone => _currentZone = zone; Category = category; Cost = cost; PointValue = pointValue; }
public virtual void MoveCard(Card card, CardZone targetZone, CardZoneChanger changer) { RemoveCard(card); targetZone.AddCard(card); changer(targetZone); }