/// <summary> /// Provides the state whose name matches the name provided /// </summary> /// <param name="index">the index in names to consider</param> /// <param name="names">the simple value names</param> public State FindSubState(string[] names, int index) { State retVal = null; foreach (State state in StateMachine.States) { if (state.Name.CompareTo(names[index]) == 0) { retVal = state; if (index < names.Length - 1) { retVal = retVal.FindSubState(names, index + 1); } break; } } return(retVal); }