Esempio n. 1
0
 internal void switchFaceDownToFaceUp(MonsterCard toSwitch)
 {
     if (FaceDownCardsInMonsterZone.Contains(toSwitch))
     {
         FaceDownCardsInMonsterZone.Remove(toSwitch);
         List <MonsterCard> toSet = MeReadOnly.FaceUpMonsters;
         toSet.Add(toSwitch);
         MeReadOnly.FaceUpMonsters = toSet;
         MeReadOnly.NumberOfFaceDownCardsInMonsterZone = MeReadOnly.NumberOfFaceDownCardsInMonsterZone - 1;
     }
 }
Esempio n. 2
0
 /// <summary>
 /// Should only be called by the Game class after RequestNormalSummon is called. The Game class checks whether this function is allowable.
 /// </summary>
 /// <param name="toPlay">The card which is to be summoned</param>
 internal void addFaceDownToMonsterZone(System.Object toPlay)
 {
     if ((toPlay as MonsterCard).Mode == Mode.Attack)
     {
         (toPlay as MonsterCard).ChangeBattlePosition();
     }
     FaceDownCardsInMonsterZone.Add(toPlay as MonsterCard);
     MeReadOnly.NumberOfFaceDownCardsInMonsterZone = MeReadOnly.NumberOfFaceDownCardsInMonsterZone + 1;
     Hand.Remove(toPlay as Cards.Card);
     MeReadOnly.NumberOfCardsInHand = MeReadOnly.NumberOfCardsInHand - 1;
 }
Esempio n. 3
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);
 }
Esempio n. 4
0
 /// <summary>
 /// Called by the Game class to actually change the mode of the card (to attack mode or defense mode).
 /// </summary>
 /// <param name="toChangeModeOf">to change to attack mode or defense mode</param>
 internal void GameChangeModeOfCard(MonsterCard toChangeModeOf)
 {
     if (FaceDownCardsInMonsterZone.Contains(toChangeModeOf))
     {
         int index = FaceDownCardsInMonsterZone.IndexOf(toChangeModeOf);
         toChangeModeOf.ChangeBattlePosition();
         FaceDownCardsInMonsterZone[index] = toChangeModeOf;
     }
     else if (MeReadOnly.FaceUpMonsters.Contains(toChangeModeOf))
     {
         List <MonsterCard> faceUps = MeReadOnly.FaceUpMonsters;
         int index = faceUps.IndexOf(toChangeModeOf);
         toChangeModeOf.ChangeBattlePosition();
         faceUps[index]            = toChangeModeOf;
         MeReadOnly.FaceUpMonsters = faceUps;
     }
 }
Esempio n. 5
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);
 }