A game about forced loneliness, made by TACStudios
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}