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; }
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); }
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(); }
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); }