public override void OnIncrement(bool fast) { if (m_Field.enumValues.Length == 0) { return; } var array = m_Field.enumValues; int index = Array.IndexOf(array, m_Field.GetValue()); if (index == array.Length - 1) { index = 0; } else { if (fast) { //check if quickSeparators have not been constructed //it is thecase when not constructed with autoenum var separators = m_Field.quickSeparators; if (separators == null) { m_Field.InitQuickSeparators(); separators = m_Field.quickSeparators; } int idxSup = 0; for (; idxSup < separators.Length && index + 1 > separators[idxSup]; ++idxSup) { ; } if (idxSup == separators.Length) { index = 0; } else { index = separators[idxSup]; } } else { index += 1; } } m_Field.SetValue(array[index]); UpdateValueLabel(); }
public override void OnIncrement(bool fast) { if (m_Field.enumValues.Length == 0) { return; } var array = m_Field.enumValues; int index = Array.IndexOf(array, m_Field.GetValue()); if (index == array.Length - 1) { index = 0; } else { index += 1; } m_Field.SetValue(array[index]); UpdateValueLabel(); }