Ejemplo n.º 1
0
 internal void SendToGraveYard(System.Object c, Zone z)
 {
     if (z == Zone.Hand)
     {
         if (Hand.Contains(c as Cards.Card))
         {
             Hand.Remove(c as Cards.Card);
             MeReadOnly.NumberOfCardsInHand = MeReadOnly.NumberOfCardsInHand - 1;
         }
     }
     else if (z == Zone.Monster)
     {
         if (FaceDownCardsInMonsterZone.Contains(c as MonsterCard))
         {
             FaceDownCardsInMonsterZone.Remove(c as MonsterCard);
             SpellAndTrapCard attachedTo = (c as MonsterCard).EquippedTo;
             if (attachedTo != null)
             {
                 SendToGraveYard(attachedTo, Zone.SpellTrap);
             }
             MeReadOnly.NumberOfFaceDownCardsInMonsterZone = MeReadOnly.NumberOfFaceDownCardsInMonsterZone - 1;
         }
         else if (MeReadOnly.FaceUpMonsters.Contains(c as MonsterCard))
         {
             List <MonsterCard> toRemoveFrom = MeReadOnly.FaceUpMonsters;
             toRemoveFrom.Remove(c as MonsterCard);
             SpellAndTrapCard attachedTo = (c as MonsterCard).EquippedTo;
             if (attachedTo != null)
             {
                 SendToGraveYard(attachedTo, Zone.SpellTrap);
             }
             MeReadOnly.FaceUpMonsters = toRemoveFrom;
         }
     }
     else if (z == Zone.SpellTrap)
     {
         if (FaceDownTraps.Contains(c as SpellAndTrapCard))
         {
             FaceDownTraps.Remove(c as SpellAndTrapCard);
             MeReadOnly.NumberOfFaceDownTraps--;
         }
         else if (MeReadOnly.FaceUpTraps.Contains(c as SpellAndTrapCard))
         {
             List <SpellAndTrapCard> toRemoveFrom = MeReadOnly.FaceUpTraps;
             toRemoveFrom.Remove(c as SpellAndTrapCard);
             MeReadOnly.FaceUpTraps = toRemoveFrom;
         }
     }
     GraveYard.Add(c as Cards.Card);
 }
Ejemplo n.º 2
0
 internal void SendToHand(System.Object c, Zone z)
 {
     if (z == Zone.Graveyard)
     {
         if (GraveYard.Contains(c as Cards.Card))
         {
             GraveYard.Remove(c as Cards.Card);
         }
     }
     else if (z == Zone.Monster)
     {
         if (FaceDownCardsInMonsterZone.Contains(c as MonsterCard))
         {
             FaceDownCardsInMonsterZone.Remove(c as MonsterCard);
             MeReadOnly.NumberOfFaceDownCardsInMonsterZone = MeReadOnly.NumberOfFaceDownCardsInMonsterZone - 1;
         }
         else if (MeReadOnly.FaceUpMonsters.Contains(c as MonsterCard))
         {
             List <MonsterCard> toRemoveFrom = MeReadOnly.FaceUpMonsters;
             toRemoveFrom.Remove(c as MonsterCard);
             MeReadOnly.FaceUpMonsters = toRemoveFrom;
         }
     }
     else if (z == Zone.SpellTrap)
     {
         if (FaceDownTraps.Contains(c as SpellAndTrapCard))
         {
             FaceDownTraps.Remove(c as SpellAndTrapCard);
             MeReadOnly.NumberOfFaceDownTraps--;
         }
         else if (MeReadOnly.FaceUpTraps.Contains(c as SpellAndTrapCard))
         {
             List <SpellAndTrapCard> toRemoveFrom = MeReadOnly.FaceUpTraps;
             toRemoveFrom.Remove(c as SpellAndTrapCard);
             MeReadOnly.FaceUpTraps = toRemoveFrom;
         }
     }
     Hand.Add(c as Cards.Card);
 }