public void OnCardClicked(CardGraphic cardGraphic) { GameManager gameManager = GameManager.Instance; List <CardGraphic> selectedCards = gameManager.selectedCards; if (!selectedCards.Contains(cardGraphic) && selectedCards.Count < CARDS_IN_A_SET) { selectedCards.Add(cardGraphic); cardGraphic.Select(); } else { selectedCards.Remove(cardGraphic); cardGraphic.Deselect(); } if (selectedCards.Count == CARDS_IN_A_SET && gameManager.IsValidSet(selectedCards)) { Debug.Log("set!"); setCount++; gameManager.UpdateSetCount(); gameManager.PlaceNewCards(); } }
private void AddCardToHand(int num) { GameObject oldCard = (GameObject)hand[num]; GameObject newCard = Instantiate(cardRef); CardGraphic cardGraphic = newCard.GetComponent <CardGraphic>(); newCard.transform.SetParent(handPanel.transform, false); cardGraphic.handIndex = num; cardGraphic.SetItem((CardInfo)GameManager.singleton.player.hand[num]); newCard.transform.SetSiblingIndex(num); Destroy(oldCard); hand[num] = newCard; }
private void UpdateHand() { CardInfo[] playerHand = GameManager.singleton.player.hand; if (playerHand == null) { return; } for (int i = 0; i < 5; i++) { //bool placeEmpty = hand[i].GetComponent<CardGraphic>().isPlaceholder; bool placeEmpty = !hand[i].GetComponent <CardGraphic>(); // New card at placeholder spot if (placeEmpty && playerHand[i] != null) { AddCardToHand(i); } // Removed card else if (!placeEmpty && playerHand[i] == null) { RemoveCardFromHand(i); } // Ensure card in correct slot if (hand[i].transform.GetSiblingIndex() != i) { hand[i].transform.SetSiblingIndex(i); } // Ensure card graphic correct CardGraphic cg = hand[i].GetComponent <CardGraphic>(); if (cg != null && cg.GetCard() != playerHand[i]) { cg.SetItem((CardInfo)playerHand[i]); } } }