You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.5 KiB
31 lines
1.5 KiB
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); |
|
} |
|
}
|
|
|