// Update is called once per frame void Update() { if (players.canPlay) { SelectCard(); RaycastHit hitInfo; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); bool hit = Physics.Raycast(ray, out hitInfo, cardLayer); if (hit) { CardDataHolder card = hitInfo.transform.gameObject.GetComponent <CardDataHolder>(); if (card.cardState == CardDataHolder.CardState.Hidden) { card.cardState = CardDataHolder.CardState.Hovered; card.UpdateSprite(); for (int i = 0; i < cards.Count; i++) { if (cards[i] != card) { if (cards[i].cardState != CardDataHolder.CardState.Selected) { if (cards[i].cardState != CardDataHolder.CardState.Used) { cards[i].cardState = CardDataHolder.CardState.Hidden; cards[i].UpdateSprite(); } } } } } } } }
private void SelectCard() { if (Input.GetMouseButtonDown(0)) { bool allfalse = true; foreach (CardDataHolder card in cards) { bool b = card.isCrRunning; if (b) { allfalse = false; break; } } if (allfalse) { RaycastHit hitInfo; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); bool hit = Physics.Raycast(ray, out hitInfo, cardLayer); if (hit) { CardDataHolder currentCard = hitInfo.transform.gameObject.GetComponent <CardDataHolder>(); if (currentCard.cardState == CardDataHolder.CardState.Hovered) { currentCard.isHovered = false; currentCard.isSelected = true; currentCard.cardState = CardDataHolder.CardState.Selected; currentCard.UpdateSprite(); selectedCards.Add(currentCard); } for (int i = 0; i < selectedCards.Count; i++) { //selectedCards[i].UpdateSprite(); } } } } }