Ejemplo n.º 1
0
		private void runStateMachine(StateMachineEnum statemachine, StateData submachineState, Signal signal, EntryEnum[] entryArray, int nEntryCount)
		{
			if (m_StateMachineImpl == null)
				return;
		
			if(submachineState == null)
			{
				StateInitialData initialData = new StateInitialData((int)StateEnum.DriveDistance_VIRTUAL_SUBMACHINESTATE, (int)StateEnum.NOSTATE, 1, false, "DriveDistance_VIRTUAL_SUBMACHINESTATE", ""); 
				submachineState = new StateData(m_StateMachineImpl, initialData);
				submachineState.IncrementActiveCount();
				m_StateMachineImpl.GetStateData().Add(submachineState);
			}
			switch (statemachine) 
			{
				case StateMachineEnum.DriveDistance_ENUM_DRIVEDISTANCESM:
					{
						const int nArrayCount = 2;
						StateInitialData[] initialDataArray = new StateInitialData[nArrayCount]
							{
								new StateInitialData((int)StateEnum.DriveDistance_ENUM_DRIVEDISTANCESM_FORWARDSTATE, (int)StateEnum.NOSTATE, 0, false, "DriveDistance_DriveDistanceSM_ForwardState", "{7C4E3CFB-F8EA-4d72-83D7-1257A76F1FFF}"),
								new StateInitialData((int)StateEnum.DriveDistance_ENUM_DRIVEDISTANCESM_STOPSTATE, (int)StateEnum.NOSTATE, 0, false, "DriveDistance_DriveDistanceSM_StopState", "{EB0BB228-E76D-4701-B2F9-04C5EC06EC50}")
							};
		
						m_StateMachineImpl.CreateStateObjects(initialDataArray, nArrayCount, submachineState);
					}
					for(int i = 0; i < nEntryCount; i++)
					{
						switch(entryArray[i])
						{
						case EntryEnum.DriveDistance_ENUM_DRIVEDISTANCESM_INITIAL_10:
							TransitionProc(TransitionEnum.DriveDistance_ENUM_INITIAL_10__TO__FORWARDSTATE_5, signal, submachineState);
							break;
						}
					}
					if(submachineState.IsActiveState())
						m_StateMachineImpl.deferInternalEvent(EventEnum.COMPLETION, null, submachineState);
					break;
			}
	
		}
Ejemplo n.º 2
0
		private void Initial_10__TO__ForwardState_5(Signal signal, StateData submachineState) 
		{
			if (m_StateMachineImpl == null)
				return;
	
			if(submachineState != null)
				submachineState.IncrementActiveCount();
			Initial_10__TO__ForwardState_5_effect(signal);
			m_StateMachineImpl.currentTransition.SetActive(m_StateMachineImpl);
			StateProc(StateEnum.DriveDistance_ENUM_DRIVEDISTANCESM_FORWARDSTATE, submachineState, StateBehaviorEnum.ENTRY, signal, EntryTypeEnum.DefaultEntry);
		}