public Card AddCardToHand(Hand hand, Card card) { card.Location = Yugioh.CardLocation.Hand; MainDeckCards.Remove(card); hand.Add(card); return(card); }
/// <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); }
/// <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); }
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); }
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; }