public virtual void setState(MainNavButtonState newState) { isSelected = false; switch (newState) { case MainNavButtonState.NORMAL: Image.sprite = NormalSprite; break; case MainNavButtonState.SELECTED: { isSelected = true; Image.sprite = SelectedSprite; for (int i = 0; i < mainNavButtons.Length; i++) { if (mainNavButtons[i] != this && mainNavButtons[i].State == MainNavButtonState.SELECTED) { if (!mainNavButtons[i].GetComponent <Button>().IsInteractable()) { mainNavButtons[i].setState(MainNavButtonState.DISABLED); } else { mainNavButtons[i].setState(MainNavButtonState.NORMAL); } } } break; } case MainNavButtonState.DISABLED: Image.sprite = DisabledSprite; setInteractable(isInteractable: false); if (ChangeAlphaOnDisable) { Image.color = new Color(1f, 1f, 1f, 0.4f); } break; case MainNavButtonState.UNAVAILABLE: Image.sprite = UnavailableSprite; setInteractable(isInteractable: false); break; } if (ChangeAlphaOnDisable && newState != MainNavButtonState.DISABLED) { Image.color = Color.white; } state = newState; }
public override void setState(MainNavButtonState newState) { switch (newState) { case MainNavButtonState.NORMAL: SetButtonEnabled(enabled: true); break; case MainNavButtonState.SELECTED: { Image.sprite = SelectedSprite; SetButtonEnabled(enabled: false); for (int i = 0; i < mainNavButtons.Length; i++) { if (mainNavButtons[i] != this && mainNavButtons[i].State == MainNavButtonState.SELECTED) { if (!mainNavButtons[i].GetComponent <Button>().IsInteractable()) { mainNavButtons[i].setState(MainNavButtonState.DISABLED); } else { mainNavButtons[i].setState(MainNavButtonState.NORMAL); } } } break; } case MainNavButtonState.DISABLED: case MainNavButtonState.UNAVAILABLE: SetButtonEnabled(enabled: false); break; } if (ChangeAlphaOnDisable && newState != MainNavButtonState.DISABLED) { Image.color = Color.white; } state = newState; }