IEnumerator WaitUntilSelected(SelectCardOverlay screen) { while (!screen.isDone) { yield return(null); } nm.SelectedCards(screen.selectedCards); }
public void DisplayCardSelectScreen(List <AbstractCard> cardsToDisplay, int numToSelect, bool mustSelectExact) { GameObject prefab = Resources.Load("Prefabs/SelectCardOverlay") as GameObject; Transform parentLoc = GameObject.Find("Canvas").transform; SelectCardOverlay screen = Instantiate(prefab, parentLoc.position, Quaternion.identity).GetComponent <SelectCardOverlay>(); screen.cardsToDisplay = cardsToDisplay; screen.selectXCards = numToSelect; screen.mustSelectExact = mustSelectExact; screen.gameObject.SetActive(true); screen.gameObject.transform.SetParent(parentLoc); StartCoroutine(WaitUntilSelected(screen)); }
public void OnPointerClick(PointerEventData eventData) { // on click, if the card is in the deck view overlay, is not upgraded, and a mastery point is available - upgrade it. if (isInDeckOverlay) { if (!reference.isUpgraded && GameState.mastery > 0) { GameObject deckOverlay = GameObject.Find("ViewDeckDisplay"); GameState.mastery -= 1; reference.Upgrade(); deckOverlay.SetActive(false); // refresh deck overlay deckOverlay.SetActive(true); } return; } if (isInRewardOverlay) { GameState.mainChar.AddCardToPermaDeck(this.reference.ID, this.reference.isUpgraded); RenderNegotiation renderer = GameObject.Find("RenderNegotiation").GetComponent <RenderNegotiation>(); renderer.EndNegotiationRender(); return; } if (isInCardOverlay) { selectedInCardOverlay = !selectedInCardOverlay; // TODO: Probably change from GameObject.Find("SelectCardOverlay(Clone)") to instead grab parent directly // Grabbing parent directly should work since isInCardOverlay is checked SelectCardOverlay instance = GameObject.Find("SelectCardOverlay(Clone)").GetComponent <SelectCardOverlay>(); if (selectedInCardOverlay) { instance.selectedCards.Add(reference); cardBG.color = Color.green; } else { instance.selectedCards.Remove(reference); cardBG.color = new Color32(50, 50, 50, 255); } instance.EnableButtonIfConditionsMet(); } }