Exemple #1
0
        protected virtual void OnGameStarted()
        {
            gameDataManager = new GameDataManager(localPlayer, remotePlayer);
            gameDataManager.Shuffle();

            //PLAY SOUND
            audioData.PlayOneShot(shuffleClip);
            //audioData.clip = shuffleClip;
            //audioData.loop = true;
            //audioData.Play();

            for (int i = 0; i < 3; i++)
            {
                byte bookRankP1 = gameDataManager.DrawCardValue();
                byte bookRankP2 = gameDataManager.DrawCardValue();

                //cardAnimator.DealBooks(localPlayer, bookRankP1);
                //cardAnimator.DealBooks(remotePlayer, bookRankP2);

                remotePlayer.CreateBottomBook(bookRankP1, cardAnimator, i);
                localPlayer.CreateBottomBook(bookRankP2, cardAnimator, i);

                gameDataManager.AddBottomBooksForPlayer(localPlayer, Card.GetRank(bookRankP1));
                gameDataManager.AddBottomBooksForPlayer(remotePlayer, Card.GetRank(bookRankP2));
            }

            for (int i = 0; i < 3; i++)
            {
                byte bookRankP1 = gameDataManager.DrawCardValue();
                byte bookRankP2 = gameDataManager.DrawCardValue();

                remotePlayer.CreateTopBook(bookRankP1, cardAnimator, i);
                localPlayer.CreateTopBook(bookRankP2, cardAnimator, i);

                //localPlayer.ReceiveBook(bookRankP1, cardAnimator);

                gameDataManager.AddBooksForPlayer(localPlayer, Card.GetRank(bookRankP1));
                gameDataManager.AddBooksForPlayer(remotePlayer, Card.GetRank(bookRankP2));
            }

            for (int i = 0; i < 3; i++)
            {
                gameDataManager.DealCardValuesToPlayer(localPlayer, PLAYER_INITIAL_2_CARDS);
                gameDataManager.DealCardValuesToPlayer(remotePlayer, PLAYER_INITIAL_2_CARDS);

                cardAnimator.DealDisplayingCards(localPlayer, PLAYER_INITIAL_2_CARDS);
                cardAnimator.DealDisplayingCards(remotePlayer, PLAYER_INITIAL_2_CARDS);
            }


            //audioData.loop = false;
            //audioData.Stop();

            gameState = GameState.TurnStarted;
        }
Exemple #2
0
        protected virtual void OnTurnDeal()
        {
            //SetMessage($"Go fish!");
            Debug.Log("Time to dig in to dealing...breathe and lets roll...");

            byte cardValue = gameDataManager.DrawCardValue(); // Burn Card --- always burn one card face down, so for all deals cards we do this...

            //how do we burn a card...
            Debug.Log("cardValue = " + cardValue);
            cardAnimator.DrawBurnCard(cardValue); //draw the card face dcown in the burnPile
            // use previous state to determine how many cards to deal
            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);
        }
Exemple #3
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();
        }
Exemple #4
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);
        }