Exemple #1
0
    private void Update()
    {
        // Mouse Selection Input
        PointerEventData     pointerData    = new PointerEventData(EventSystem.current);
        List <RaycastResult> raycastResults = new List <RaycastResult>();

        pointerData.position = Input.mousePosition;
        this.graphicRaycaster.Raycast(pointerData, raycastResults);

        if (selectedButton)
        {
            selectedButton.mouseHovering = false;
        }

        foreach (RaycastResult result in raycastResults)
        {
            MenuButtonScript resultScript = result.gameObject.GetComponentInParent <MenuButtonScript>();

            if (resultScript)
            {
                index = resultScript.GetIndex();
                resultScript.mouseHovering = true;
                selectedButton             = resultScript;
            }
        }

        // Keyboard Selection Input
        if (Input.GetAxis("Vertical") != 0 && prevKeyDown == 0)
        {
            if (Input.GetAxis("Vertical") < 0)
            {
                index = index + 1;
                if (index > maxIndex)
                {
                    index = 0;
                }
            }
            else if (Input.GetAxis("Vertical") > 0)
            {
                index -= 1;
                if (index < 0)
                {
                    index = maxIndex;
                }
            }
        }
        prevKeyDown = Input.GetAxis("Vertical");
    }
    //refreshes the list, highlighting the current deck
    void refresh(XMLDeck currentDeck)
    {
        //remove all deck buttons that no longer have a corresponding deck
        foreach (MenuButtonScript toRemove in buttons.FindAll(mb => (mb.buttonType == MenuButtonType.deck) &&
                                                              (DeckManagerScript.instance.playerDecks.decks.Contains(mb.xDeck) == false)))
        {
            buttons.Remove(toRemove);
            Destroy(toRemove.gameObject);
        }

        //create buttons for decks that do not have a corresponding button
        foreach (XMLDeck newDeck in DeckManagerScript.instance.playerDecks.decks)
        {
            if (buttons.Any(mb => mb.xDeck == newDeck) == false)
            {
                MenuButtonScript xButton = Instantiate(buttonPrefab).GetComponent <MenuButtonScript>();
                xButton.SendMessage("setDeck", newDeck);

                //set button color
                Color targetColor;

                if (newDeck.isModded())
                {
                    targetColor = moddedColor;
                }
                else
                {
                    targetColor = defaultColor;
                }

                if (newDeck == currentDeck)
                {
                    targetColor = Color.Lerp(targetColor, highlightColor, 0.5f);
                }

                xButton.setColor(targetColor);
                xButton.transform.SetParent(this.transform, false);
                buttons.Add(xButton);
            }
        }
    }
    //adds deck buttons to the list.  If highlightDeck is in the list, that button is a different color
    void setupDeckButtons(XMLDeck highlightDeck)
    {
        //one button for each player deck
        foreach (XMLDeck xDeck in DeckManagerScript.instance.playerDecks.decks)
        {
            MenuButtonScript xButton = Instantiate(buttonPrefab).GetComponent <MenuButtonScript>();
            xButton.setDeck(xDeck);

            //set button color
            Color targetColor;

            if (xDeck.isModded())
            {
                targetColor = moddedColor;
            }
            else
            {
                targetColor = defaultColor;
            }
            if (xDeck == highlightDeck)
            {
                targetColor = Color.Lerp(targetColor, highlightColor, 0.5f);
            }

            xButton.setColor(targetColor);
            xButton.transform.SetParent(this.transform, false);
            buttons.Add(xButton);
        }

        //another button for making a new deck
        MenuButtonScript ndButton = Instantiate(buttonPrefab).GetComponent <MenuButtonScript>();

        ndButton.setButtonText("New Deck");
        ndButton.setColor(menuColor);
        ndButton.transform.SetParent(this.transform, false);
        buttons.Add(ndButton);
    }
Exemple #4
0
    public void PrepareEndScene()
    {
        var MenuButtonGo = Instantiate(MenuButtonPrefab, MenuBox.transform);

        _menuButtonScript = MenuButtonGo.GetComponent <MenuButtonScript> ();
    }
Exemple #5
0
 private void Start()
 {
     Player ??= GameObject.FindGameObjectWithTag("Player");
     _clear = GameObject.Find("MenuPanel").GetComponent <MenuButtonScript>();
 }