protected void UpdateButtonState(Button button, SettingPanelMode mode) { TabButtonState state = GetButtonState(mode); //Set button interactable state switch (state) { case TabButtonState.Enabled: case TabButtonState.Flashing: button.gameObject.SetActive(true); button.interactable = true; break; case TabButtonState.Disabled: case TabButtonState.Selected: button.gameObject.SetActive(true); button.interactable = false; break; case TabButtonState.Hidden: button.gameObject.SetActive(false); break; default: Debug.LogError($"Unexpected TabButtonState: {state}"); break; } button.GetComponent <Image>().color = GetButtonColor(state); button.GetComponentInChildren <Text>().color = GetTextColor(state); }
public void Unlock() { if (state == TabButtonState.Locked) { state = TabButtonState.Active; SetBackground(style.Active); } }
public void ToggleOn() { if (state != TabButtonState.Locked) { state = TabButtonState.Active; SetBackground(style.Active); } }
public void toggleOff() { if (state != TabButtonState.Locked) { state = TabButtonState.Inactive; setBackground(style.inactive); } }
public void ToggleLock() { if (state != TabButtonState.Inactive) { if (state == TabButtonState.Active) { state = TabButtonState.Locked; SetBackground(style.Locked); } else { state = TabButtonState.Active; SetBackground(style.Active); } } }
public void toggle() { if (state != TabButtonState.Locked) { if (state == TabButtonState.Active) { state = TabButtonState.Inactive; setBackground(style.inactive); } else { state = TabButtonState.Active; setBackground(style.active); } } }
protected Color GetTextColor(TabButtonState state) { switch (state) { case TabButtonState.Selected: return(SelectedTextColor); case TabButtonState.Enabled: return(EnabledTextColor); case TabButtonState.Flashing: return(HighlightTextColor); case TabButtonState.Hidden: case TabButtonState.Disabled: return(DisabledTextColor); default: Debug.LogError($"Unexpected TabButtonState: {state}"); return(EnabledButtonColor); } }