コード例 #1
0
        internal void SetCard(PlayableCard card, int index)
        {
            if (index >= cardDeck.Length)
            {
                throw new ArgumentOutOfRangeException(nameof(index));
            }

            cardDeck[index] = card ?? throw new ArgumentNullException(nameof(card));
            card.Player     = this;
            CardDeckChanged?.Invoke();
        }
コード例 #2
0
        internal void PutCardsOnDeck(UInt64[] cardGuids)
        {
            for (var i = 0; i < cardGuids.Length; i++)
            {
                if (cards.TryGetValue(cardGuids[i], out var card))
                {
                    cardDeck[i] = card;
                }
                else
                {
                    cardDeck[i] = null;
                }
            }

            for (var i = cardGuids.Length; i < cardDeck.Length; i++)
            {
                cardDeck[i] = null;
            }

            CardDeckChanged?.Invoke();
        }