private void cmdToField_Click(System.Object sender, System.Windows.RoutedEventArgs e)
        {
            if (selectedCardIndex == 0)
            {
                return;
            }

            int id = M.findID(lblDuelName.Text);

            if (M.CardStats[id].IsMonster())
            {
                if (AllMonsterZonesFull)
                {
                    return;
                }
                oncloseToArea = DuelFieldNew.Area.Monster;
            }
            else if (M.CardStats[id].Type == "Field")
            {
                oncloseToArea = DuelFieldNew.Area.FieldSpell;
            }
            else
            {
                if (AllSTZonesFull)
                {
                    return;
                }
                oncloseToArea = DuelFieldNew.Area.ST;
            }

            oncloseFromArea  = area;
            oncloseFromIndex = selectedCardIndex;
            DialogResult     = true;
        }
 private void cmdToTop_Click(System.Object sender, System.Windows.RoutedEventArgs e)
 {
     if (selectedCardIndex == 0)
     {
         return;
     }
     oncloseFromArea  = area;
     oncloseToArea    = DuelFieldNew.Area.Deck;
     oncloseFromIndex = selectedCardIndex;
     DialogResult     = true;
 }
 private void cmdToExtra_Click(object sender, RoutedEventArgs e)
 {
     if (selectedCardIndex == 0)
     {
         return;
     }
     oncloseFromArea  = area;
     oncloseToArea    = DuelFieldNew.Area.Extra;
     oncloseFromIndex = selectedCardIndex;
     oncloseToIndex   = 1;
     DialogResult     = true;
 }
 private void cmdBanish_Click(System.Object sender, System.Windows.RoutedEventArgs e)
 {
     if (selectedCardIndex == 0)
     {
         return;
     }
     oncloseFromArea       = area;
     oncloseToArea         = DuelFieldNew.Area.RFG;
     oncloseFromIndex      = selectedCardIndex;
     oncloseBanishFacedown = (bool)chkBanishFacedown.IsChecked;
     DialogResult          = true;
 }
        public void loaded()
        {
            oncloseFromArea       = DuelFieldNew.Area.None;
            oncloseToArea         = DuelFieldNew.Area.None;
            oncloseFromIndex      = -1;
            oncloseToIndex        = -1;
            oncloseBanishFacedown = false;
            selectedCardIndex     = 0;
            MouseEnterHandlers.Clear();

            switch (area)
            {
            case DuelFieldNew.Area.Deck:
                this.Title = "Viewing Deck";
                for (int n = 1; n <= M.PlayerDeck.CountNumCards(); n++)
                {
                    CreateAndAddImage(M.PlayerDeck[n]);
                }
                break;

            case DuelFieldNew.Area.Extra:
                this.Title = "Viewing Extra Deck";
                for (int n = 1; n <= M.PlayerEDeck.CountNumCards(); n++)
                {
                    CreateAndAddImage(M.PlayerEDeck[n]);
                }
                break;

            case DuelFieldNew.Area.RFG:
                if (isPlayer)
                {
                    this.Title = "Viewing RFG";
                    for (int n = 1; n <= M.PlayerRFG.CountNumCards(); n++)
                    {
                        CreateAndAddImage(M.PlayerRFG[n]);
                    }
                }
                else
                {
                    this.Title = "Viewing Opponent RFG";
                    for (int n = 1; n <= M.OpponentRFG.CountNumCards(); n++)
                    {
                        CreateAndAddImage(M.OpponentRFG[n]);
                    }
                }
                break;

            case DuelFieldNew.Area.Grave:
                if (isPlayer)
                {
                    this.Title = "Viewing Grave";
                    for (int n = 1; n <= M.PlayerGrave.CountNumCards(); n++)
                    {
                        CreateAndAddImage(M.PlayerGrave[n]);
                    }
                }
                else
                {
                    this.Title = "Viewing Opponent Grave";
                    for (int n = 1; n <= M.OpponentGrave.CountNumCards(); n++)
                    {
                        CreateAndAddImage(M.OpponentGrave[n]);
                    }
                }
                break;
            }

            ChangeButtons(false);
            ClearStatLabels();
        }