コード例 #1
0
ファイル: FSM.cs プロジェクト: dtknowlove/NodejsProjects
 /// <summary>
 /// Handles the event.
 /// </summary>
 /// <param name="eventName">Event name.</param>
 public void HandleEvent(ushort eventName)
 {
     if (mCurState != null && mStateDict[mCurState.Name].TranslationDict.ContainsKey(eventName))
     {
         var tempTranslation = mStateDict[mCurState.Name].TranslationDict[eventName];
         tempTranslation.FromState.OnExit();
         mCurState = tempTranslation.ToState;
         tempTranslation.ToState.OnEnter();
     }
 }
コード例 #2
0
ファイル: FSM.cs プロジェクト: dtknowlove/NodejsProjects
 /// <summary>
 /// Start the specified startState.
 /// </summary>
 /// <param name="startState">Start state.</param>
 public void Start(PTFSMState startState)
 {
     mCurState = startState;
     mCurState.OnEnter();
 }
コード例 #3
0
ファイル: FSM.cs プロジェクト: dtknowlove/NodejsProjects
 /// <summary>
 /// Adds the translation.
 /// </summary>
 /// <param name="fromState">From state.</param>
 /// <param name="eventName">Event name.</param>
 /// <param name="toState">To state.</param>
 public void AddTranslation(PTFSMState fromState, ushort eventName, PTFSMState toState)
 {
     mStateDict[fromState.Name].TranslationDict.Add(eventName, new PTFSMTranslation(fromState, eventName, toState));
 }
コード例 #4
0
ファイル: FSM.cs プロジェクト: dtknowlove/NodejsProjects
 /// <summary>
 /// Adds the state.
 /// </summary>
 /// <param name="state">State.</param>
 public void AddState(PTFSMState state)
 {
     mStateDict.Add(state.Name, state);
 }
コード例 #5
0
ファイル: FSM.cs プロジェクト: dtknowlove/NodejsProjects
 public PTFSMTranslation(PTFSMState fromState, ushort eventName, PTFSMState toState)
 {
     FromState = fromState;
     ToState   = toState;
     EventName = eventName;
 }
コード例 #6
0
ファイル: FSMLite.cs プロジェクト: dtknowlove/NodejsProjects
 /// <summary>
 /// Adds the state.
 /// </summary>
 /// <param name="name">Name.</param>
 public void AddState(string name)
 {
     mStateDict[name] = new PTFSMState(name);
 }