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; } }
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; } }