12345678910111213141516171819202122232425262728293031 |
- using System.Collections.Generic;
- using UnityEngine.UI;
-
- class TestButton : Button
- {
- public bool isStateNormal { get { return currentSelectionState == SelectionState.Normal; } }
- public bool isStateHighlighted { get { return currentSelectionState == SelectionState.Highlighted; } }
- public bool isStatePressed { get { return currentSelectionState == SelectionState.Pressed; } }
- public bool isStateDisabled { get { return currentSelectionState == SelectionState.Disabled; } }
- public bool isStateSelected { get { return currentSelectionState == SelectionState.Selected; } }
-
- private bool IsTransitionTo(int index, SelectionState selectionState)
- {
- return index < m_StateTransitions.Count && m_StateTransitions[index] == selectionState;
- }
-
- public bool IsTransitionToNormal(int index) { return IsTransitionTo(index, SelectionState.Normal); }
- public bool IsTransitionToHighlighted(int index) { return IsTransitionTo(index, SelectionState.Highlighted); }
- public bool IsTransitionToPressed(int index) { return IsTransitionTo(index, SelectionState.Pressed); }
- public bool IsTransitionToDisabled(int index) { return IsTransitionTo(index, SelectionState.Disabled); }
-
- private readonly List<SelectionState> m_StateTransitions = new List<SelectionState>();
-
- public int StateTransitionCount { get { return m_StateTransitions.Count; } }
-
- protected override void DoStateTransition(SelectionState state, bool instant)
- {
- m_StateTransitions.Add(state);
- base.DoStateTransition(state, instant);
- }
- }
|