/// <summary> /// Switches the current state to the given ClickableState, and calls OnDown/OnHover as needed /// </summary> protected virtual void SwitchState(ClickableState newState) { State = newState; switch (State) { case ClickableState.None: break; case ClickableState.Hover: OnHover?.Invoke(this); break; case ClickableState.Active: OnDown?.Invoke(this); break; } }
private void SetRect(ClickableState state) { var changeRect = NormalRect; switch (state) { case ClickableState.None: changeRect = NormalRect; break; case ClickableState.Hover: changeRect = HoverRect; break; case ClickableState.Active: changeRect = ClickRect; break; } m_Sprite.TextureRect = changeRect; }
protected override void SwitchState(ClickableState newState) { base.SwitchState(newState); SetRect(newState); }