Exemplo n.º 1
0
        private void TakeCardsFromPile(int numOfCards)
        {
            //List<byte> playerCardValues = gameDataManager.PlayerCards(remotePlayer);

            for (int i = 0; i < numOfCards; i++)
            {
                byte cardValue = gameDataManager.DrawCardValue();

                if (cardValue == Constants.POOL_IS_EMPTY)
                {
                    Debug.LogError("Pool is empty");
                    return;
                }

                //playerCardValues.Add(cardValue);
                //currentTurnPlayer.SetCardValues(playerCardValues);

                if (Card.GetRank(cardValue) == selectedRank)
                {
                    cardAnimator.DrawDisplayingCard(currentTurnPlayer, cardValue);
                }
                else
                {
                    cardAnimator.DrawDisplayingCard(currentTurnPlayer);
                }

                gameDataManager.AddCardValueToPlayer(currentTurnPlayer, cardValue);
            }


            //gameDataManager.DealCardValuesToPlayer(currentTurnPlayer, 1);
            //cardAnimator.DealDisplayingCards(currentTurnPlayer, 1);

            audioData.PlayOneShot(takeCardSounds[UnityEngine.Random.Range(0, takeCardSounds.Count - 1)]);
            //gameState = GameState.TurnStarted;
            //GameFlow();
        }
Exemplo n.º 2
0
        public void OnTurnGoFish()
        {
            SetMessage($"Go fish!");

            byte cardValue = gameDataManager.DrawCardValue();

            if (cardValue == Constants.POOL_IS_EMPTY)
            {
                Debug.LogError("Pool is empty");
                return;
            }

            if (Card.GetRank(cardValue) == selectedRank)
            {
                cardAnimator.DrawDisplayingCard(currentTurnPlayer, cardValue);
            }
            else
            {
                cardAnimator.DrawDisplayingCard(currentTurnPlayer);
                gameState = GameState.TurnStarted;
            }

            gameDataManager.AddCardValueToPlayer(currentTurnPlayer, cardValue);
        }
Exemplo n.º 3
0
        public void OnDrawFromDeckButton()
        {
            if (gameState == GameState.TurnDrawingCard)
            {
                byte cardValue = leastCountManager.DrawCardValue();

                if (cardValue == Constants.POOL_IS_EMPTY)
                {
                    Debug.LogError("Pool is empty");
                    return;
                }

                cardAnimator.DrawDisplayingCard(currentTurnPlayer, cardValue);
                leastCountManager.AddCardValueToPlayer(currentTurnPlayer.PlayerId, cardValue);
                move.drawnFromDeckOrDropped = "deck";
                move.drawnCard = cardValue;
                gameState      = GameState.TurnDrawingCardConfirmed;
                GameFlow();
            }
            else
            {
                SetMessage("Drop the card and click on confirm card button first");
            }
        }