A game about forced loneliness, made by TACStudios
at master 31 lines 1.6 kB view raw
1using System.Collections.Generic; 2using UnityEngine.UI; 3 4class TestButton : Button 5{ 6 public bool isStateNormal { get { return currentSelectionState == SelectionState.Normal; } } 7 public bool isStateHighlighted { get { return currentSelectionState == SelectionState.Highlighted; } } 8 public bool isStatePressed { get { return currentSelectionState == SelectionState.Pressed; } } 9 public bool isStateDisabled { get { return currentSelectionState == SelectionState.Disabled; } } 10 public bool isStateSelected { get { return currentSelectionState == SelectionState.Selected; } } 11 12 private bool IsTransitionTo(int index, SelectionState selectionState) 13 { 14 return index < m_StateTransitions.Count && m_StateTransitions[index] == selectionState; 15 } 16 17 public bool IsTransitionToNormal(int index) { return IsTransitionTo(index, SelectionState.Normal); } 18 public bool IsTransitionToHighlighted(int index) { return IsTransitionTo(index, SelectionState.Highlighted); } 19 public bool IsTransitionToPressed(int index) { return IsTransitionTo(index, SelectionState.Pressed); } 20 public bool IsTransitionToDisabled(int index) { return IsTransitionTo(index, SelectionState.Disabled); } 21 22 private readonly List<SelectionState> m_StateTransitions = new List<SelectionState>(); 23 24 public int StateTransitionCount { get { return m_StateTransitions.Count; } } 25 26 protected override void DoStateTransition(SelectionState state, bool instant) 27 { 28 m_StateTransitions.Add(state); 29 base.DoStateTransition(state, instant); 30 } 31}