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(); }
public void TurnCardToFront(GambleCard gambleCard) { if (isStealingActive && gambleCard.cardType == CardType.Dark) { gambleCard.ChangeCardType(CardType.Light); Debug.Log("Stolen"); OnCardStolen?.Invoke(); } gambleCard.TurnCardToFront(); }
private void OnCardAtSendedPosition(GambleCard gambleCard) { gambleCard.OnCardAtSendedPosition -= OnCardAtSendedPosition; shuffledCardCount++; if (shuffledCardCount == 2) { shuffledCardCount = 0; isCurrentShuffleCompleted = true; } }
private void OnCardSpawnFinished(GambleCard gambleCard) { gambleCard.OnCardSpawnFinished -= OnCardSpawnFinished; createdCardCount++; if (createdCardCount == totalCardCount) { shuffleManager.Init(this); shuffleManager.OnShuffleCompleted += OnShuffleCompleted; shuffleManager.ShuffleCards(createdCards); } }
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; * }*/ } } }
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; } }