Esempio n. 1
0
 public Card AddCardToHand(Hand hand, Card card)
 {
     card.Location = Yugioh.CardLocation.Hand;
     MainDeckCards.Remove(card);
     hand.Add(card);
     return(card);
 }
Esempio n. 2
0
        /// <summary>
        /// Draws a card and adds it to the hand
        /// </summary>
        /// <param name="hand"></param>
        public Card DrawACardFromTop(Hand hand)
        {
            var card = MainDeckCards[0];

            card.Location = Yugioh.CardLocation.Hand;
            hand.Add(card);
            MainDeckCards.RemoveAt(0);
            return(card);
        }
Esempio n. 3
0
        /// <summary>
        /// Draws a card and adds it to the hand
        /// </summary>
        /// <param name="hand"></param>
        public void DrawACardFromBottom(Hand hand)
        {
            var index = MainDeckCards.Count() - 1;
            var card  = MainDeckCards[index];

            card.Location = Yugioh.CardLocation.Hand;
            hand.Add(card);
            MainDeckCards.RemoveAt(index);
        }
Esempio n. 4
0
        public Card AddCardToHand(Hand hand, string cardName)
        {
            var cardToAdd = MainDeckCards.FirstOrDefault(c => c.Name == cardName);

            if (cardToAdd == null)
            {
                throw new Exception("Cannot find card by name " + cardName);
            }
            cardToAdd.Location = Yugioh.CardLocation.Hand;
            MainDeckCards.Remove(cardToAdd);
            hand.Add(cardToAdd);
            return(cardToAdd);
        }
Esempio n. 5
0
        public void LoadDeckData(BinaryReader Reader)
        {
            DeckName = Encoding.Unicode.GetString(Reader.ReadBytes(Constants.DeckNameByteLen)).TrimEnd('\0');

            var NumMainDeckCards  = Reader.ReadInt16();
            var NumSideDeckCards  = Reader.ReadInt16();
            var NumExtraDeckCards = Reader.ReadInt16();

            for (var Count = 0; Count < MaxMainDeckCards; Count++)
            {
                var CardId = Reader.ReadInt16();
                if (CardId > 0)
                {
                    MainDeckCards.Add(CardId);
                }
            }

            for (var Count = 0; Count < MaxSideDeckCards; Count++)
            {
                var CardId = Reader.ReadInt16();
                if (CardId > 0)
                {
                    SideDeckCards.Add(CardId);
                }
            }

            for (var Count = 0; Count < MaxExtraDeckCards; Count++)
            {
                var CardId = Reader.ReadInt16();
                if (CardId > 0)
                {
                    ExtraDeckCards.Add(CardId);
                }
            }

            Reader.ReadBytes(12);
            Reader.ReadBytes(12);
            Reader.ReadUInt32();
            Reader.ReadUInt32();
            Reader.ReadUInt32();
            DeckAvatarId = Reader.ReadInt32();
            Reader.ReadUInt32();
            Reader.ReadUInt32();
            IsDeckComplete = Reader.ReadUInt32() == 1;
        }