Ejemplo n.º 1
0
        private IEnumerator CR_ShuffleCards(List <GambleCard> gambleCards)
        {
            yield return(new WaitForSeconds(0.2f));

            for (int i = 0; i < shuffleCount; i++)
            {
                isCurrentShuffleCompleted = false;
                int index1 = Random.Range(0, gambleCards.Count);
                int index2 = Random.Range(0, gambleCards.Count);

                while (index1 == index2)
                {
                    index2 = Random.Range(0, gambleCards.Count);
                }

                GambleCard card1 = gambleCards[index1];
                GambleCard card2 = gambleCards[index2];

                card1.OnCardAtSendedPosition += OnCardAtSendedPosition;
                card2.OnCardAtSendedPosition += OnCardAtSendedPosition;

                Vector2 card1Pos = card1.transform.position;
                Vector2 card2Pos = card2.transform.position;

                card1.SendCardToPosition(card2Pos, gameHandler.CardGameDataManager.CardGameData.shuffleSpeed);
                card2.SendCardToPosition(card1Pos, gameHandler.CardGameDataManager.CardGameData.shuffleSpeed);

                yield return(new WaitUntil(() => isCurrentShuffleCompleted));
            }

            OnShuffleCompleted?.Invoke();
        }
Ejemplo n.º 2
0
        public void TurnCardToFront(GambleCard gambleCard)
        {
            if (isStealingActive && gambleCard.cardType == CardType.Dark)
            {
                gambleCard.ChangeCardType(CardType.Light);
                Debug.Log("Stolen");
                OnCardStolen?.Invoke();
            }

            gambleCard.TurnCardToFront();
        }
Ejemplo n.º 3
0
        private void OnCardAtSendedPosition(GambleCard gambleCard)
        {
            gambleCard.OnCardAtSendedPosition -= OnCardAtSendedPosition;
            shuffledCardCount++;

            if (shuffledCardCount == 2)
            {
                shuffledCardCount         = 0;
                isCurrentShuffleCompleted = true;
            }
        }
Ejemplo n.º 4
0
        private void OnCardSpawnFinished(GambleCard gambleCard)
        {
            gambleCard.OnCardSpawnFinished -= OnCardSpawnFinished;
            createdCardCount++;

            if (createdCardCount == totalCardCount)
            {
                shuffleManager.Init(this);
                shuffleManager.OnShuffleCompleted += OnShuffleCompleted;
                shuffleManager.ShuffleCards(createdCards);
            }
        }
Ejemplo n.º 5
0
        private void ControlInput()
        {
            if (Input.GetKeyDown(KeyCode.Space))
            {
                SceneManager.LoadScene(SceneManager.GetActiveScene().name);
            }
#if UNITY_EDITOR
            if (Input.GetKeyDown(KeyCode.Escape))
            {
                if (EditorApplication.isPlaying)
                {
                    UnityEditor.EditorApplication.isPlaying = false;
                }
            }
#endif



            if (Input.GetMouseButtonDown(0))
            {
                RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);

                if (hit.collider != null)
                {
                    if (hit.collider.gameObject.CompareTag("GambleCard"))
                    {
                        if (isCardSelectionInputLocked)
                        {
                            return;
                        }

                        GambleCard gambleCard = hit.collider.gameObject.GetComponent <GambleCard>();
                        gambler.TurnCardToFront(gambleCard);
                        OnCardSelected(gambleCard.cardType);
                    }

                    /*else if (hit.collider.gameObject.CompareTag("Gambler"))
                     * {
                     *  Gambler gambler = hit.collider.gameObject.GetComponent<Gambler>();
                     *  gambler.CloseGamblerCollider();
                     *  speakingPanel.OpenPanel();
                     *  speakingPanel.OnBidButtonPresed += OnBidMade;
                     * }*/
                }
            }
        }
Ejemplo n.º 6
0
 private void CreateCardAtPosition(CardType type, Vector2 position)
 {
     if (type == CardType.Light)
     {
         GambleCard gambleCard = Instantiate(gambleCardPrefab, position, Quaternion.identity);
         gambleCard.Init(CardType.Light);
         createdCards.Add(gambleCard);
         gambleCard.OnCardSpawnFinished += OnCardSpawnFinished;
     }
     else
     {
         GambleCard gambleCard = Instantiate(gambleCardPrefab, position, Quaternion.identity);
         gambleCard.Init(CardType.Dark);
         createdCards.Add(gambleCard);
         gambleCard.OnCardSpawnFinished += OnCardSpawnFinished;
     }
 }