예제 #1
0
        /// <summary>
        /// Fires the events for card draw
        /// </summary>
        /// <param name="cardData"></param>
        protected void TriggerDrawCardEvents(Card card)
        {
            OnCardDraw?.Invoke(card);

            if (CurrentHand.Count < MaxHandSize)
            {
                AddCardToHand(card);
            }
        }
예제 #2
0
        public void Draw()
        {
            // Draw default card when nothing on your deck
            if (Deck.Count == 0)
            {
                Debug.LogWarning("No cards in the deck!");
                for (int i = 0; i < 2; i++)
                {
                    Deck.Add(defaultCardData);
                }
                Hands.Add(defaultCardData);
                Debug.Log($"Card added: {defaultCardData.Name}, {Hands.Count}");

                Debug.Log($"{UnitData.Name}, {UserType.ToString()}");

                // Don't tirgger UI
                if (UserType == UserType.Computer)
                {
                    return;
                }

                OnCardDraw?.Invoke(this, defaultCardData);
                return;
            }

            var random = new System.Random();
            var idx    = random.Next(Deck.Count);
            var card   = Deck[idx];

            // Remove from the deck and add to hand
            // Deck.RemoveAt(idx);
            Hands.Add(card);
            Debug.Log($"Card added: {card.Name}, {Hands.Count}");

            Debug.Log($"{UnitData.Name}, {UserType.ToString()}");

            // Don't tirgger UI
            if (UserType == UserType.Computer)
            {
                return;
            }

            OnCardDraw?.Invoke(this, card);
        }