public void MoveCard(Card card, Region toWhere)
{
Region fromWhere = card.BelongedRegion();
if (fromWhere.Equals(Overlay))
{
List<Card> temp = new List<Card>();
temp.AddRange(FrontField.CardList);
temp.AddRange(BackField.CardList);
foreach (Card parentCard in temp)
{
if (parentCard.OverlayCardNo.Contains(card.NumberInDeck))
{
parentCard.OverlayCardNo.Remove(card.NumberInDeck);
break;
}
}
}
if (toWhere.Equals(Deck) || toWhere.Equals(Orb))
{
card.FrontShown = false;
card.Visible = false;
}
else
{
if (!((toWhere.Equals(Kizuna) || toWhere.Equals(KizunaUsed)) && (card.BelongedRegion().Equals(Kizuna) || card.BelongedRegion().Equals(KizunaUsed))))
{
card.FrontShown = true;
card.Visible = true;
}
}
if (!((toWhere.Equals(FrontField) || toWhere.Equals(BackField)) && (card.BelongedRegion().Equals(FrontField) || card.BelongedRegion().Equals(BackField))))
{
card.SolCounter = 0;
card.LunaCounter = 0;
}
fromWhere.CardList.Remove(card);
toWhere.CardList.Add(card);
}