コード例 #1
0
        private void UpdateButtonColor(PerkButton button)
        {
            var backgroundImg = button.GetComponent <UnityEngine.UI.Image>();

            if (perkSystem.HasPerk(button.PerkKey))
            {
                backgroundImg.color = perkBoughtColor;
            }
            else if (perkSystem.CanBuyPerk(button.PerkKey))
            {
                backgroundImg.color = availableColor;
            }
            else
            {
                backgroundImg.color = cannotBuyYetColor;
            }
        }
コード例 #2
0
    private void NavigatePerkTree()
    {
        Vector3 v3PrimaryInputDirection = InputManager.PrimaryInput();

        // Forward.
        if (v3PrimaryInputDirection.z >= m_fInputBuffer)
        {
            if (!m_selectedPerkButton.IsHighlighted)
            {
                m_bInputRecieved = true;
                m_selectedPerkButton.IsHighlighted = true;
                m_selectedPerkButton.m_backButton.GetComponent <PerkTreeBackButton>().IsHightlighted = false;
            }

            // If there is only one child perk, make it selected.
            if (m_selectedPerkButton.m_childPerks.Count == 1 && !m_bInputRecieved)
            {
                m_bInputRecieved = true;
                m_selectedPerkButton.IsHighlighted = false;
                m_selectedPerkButton = m_selectedPerkButton.m_childPerks[0].GetComponent <PerkButton>();
                m_selectedPerkButton.IsHighlighted = true;
            }

            // Forward & Left.
            if (v3PrimaryInputDirection.x <= -m_fInputBuffer)
            {
                if (!m_bInputRecieved)
                {
                    if (m_selectedPerkButton.m_childPerks[0].transform.position.x < m_selectedPerkButton.m_childPerks[1].transform.position.x)
                    {
                        m_bInputRecieved = true;
                        m_selectedPerkButton.IsHighlighted = false;
                        m_selectedPerkButton = m_selectedPerkButton.m_childPerks[0].GetComponent <PerkButton>();
                        m_selectedPerkButton.IsHighlighted = true;
                    }
                    else
                    {
                        m_bInputRecieved = true;
                        m_selectedPerkButton.IsHighlighted = false;
                        m_selectedPerkButton = m_selectedPerkButton.m_childPerks[1].GetComponent <PerkButton>();
                        m_selectedPerkButton.IsHighlighted = true;
                    }
                }
            }
            // Forward & Right.
            else if (v3PrimaryInputDirection.x >= m_fInputBuffer)
            {
                if (!m_bInputRecieved)
                {
                    if (m_selectedPerkButton.m_childPerks[0].transform.position.x > m_selectedPerkButton.m_childPerks[1].transform.position.x)
                    {
                        m_bInputRecieved = true;
                        m_selectedPerkButton.IsHighlighted = false;
                        m_selectedPerkButton = m_selectedPerkButton.m_childPerks[0].GetComponent <PerkButton>();
                        m_selectedPerkButton.IsHighlighted = true;
                    }
                    else
                    {
                        m_bInputRecieved = true;
                        m_selectedPerkButton.IsHighlighted = false;
                        m_selectedPerkButton = m_selectedPerkButton.m_childPerks[1].GetComponent <PerkButton>();
                        m_selectedPerkButton.IsHighlighted = true;
                    }
                }
            }
        }
        // Backward.
        else if (v3PrimaryInputDirection.z <= -m_fInputBuffer)
        {
            if (m_selectedPerkButton.m_parentPerk != null && !m_bInputRecieved)
            {
                m_bInputRecieved = true;
                m_selectedPerkButton.IsHighlighted = false;
                m_selectedPerkButton = m_selectedPerkButton.m_parentPerk.GetComponent <PerkButton>();
                m_selectedPerkButton.IsHighlighted = true;
            }
            else if (m_selectedPerkButton.m_parentPerk == null && !m_bInputRecieved)
            {
                m_bInputRecieved = true;
                m_selectedPerkButton.IsHighlighted = false;
                m_selectedPerkButton.m_backButton.GetComponent <PerkTreeBackButton>().IsHightlighted = true;
            }
        }
        else
        {
            m_bInputRecieved = false;
        }
    }