internal CardReference(CardReference cardRef, bool runUpdateAbilities = true)
 {
     this.card = cardRef.card;
     this.cardID = cardRef.cardID;
     this.old = cardRef;
     if (runUpdateAbilities)
     UpdateAbilities();
 }
 public TestDeck(MagicCard card)
 {
     this.card = card;
 }
 public static DeckCardReference MakeReference(MagicCard card)
 {
     return new DeckCardReference(card);
 }
 internal CardReference(MagicCard card, CardID id)
 {
     this.card = card;
     this.cardID = id;
     UpdateAbilities();
 }
 // this is where new IDs are born
 internal DeckCardReference(MagicCard card)
     : base(card, new CardID())
 {
 }