Beispiel #1
0
 IEnumerator WaitUntilSelected(SelectCardOverlay screen)
 {
     while (!screen.isDone)
     {
         yield return(null);
     }
     nm.SelectedCards(screen.selectedCards);
 }
Beispiel #2
0
    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));
    }
Beispiel #3
0
    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();
        }
    }