Ejemplo n.º 1
0
 public virtual void onTrigger(EVENT_TYPE event_type, object data)
 {
     if (event_type == EVENT_TYPE.TRIGGER_LOGIN_STATE) {
         this.next_state = machine.getState (STATE_ID.LOGIN_STATE);
     } else if (event_type == EVENT_TYPE.TRIGGER_SELECT_ROOM_STATE) {
         this.next_state = machine.getState (STATE_ID.SELECT_ROOM_STATE);
     } else if (event_type == EVENT_TYPE.TRIGGER_HALL_STATE) {
         this.next_state = machine.getState(STATE_ID.HALL_STATE);
     } else if (event_type == EVENT_TYPE.TRIGGER_CREATE_ROOM_STATE) {
         this.next_state = machine.getState(STATE_ID.CREATE_ROOM_STATE);
     }
 }
Ejemplo n.º 2
0
 public void addState(State state)
 {
     this.all_states [state.id] = state;
 }
Ejemplo n.º 3
0
 public abstract void onLeave(State to_state);
Ejemplo n.º 4
0
 public abstract void onEnter(State from_state);
Ejemplo n.º 5
0
 public void run(State state)
 {
     if (current_state!=null)
         current_state.onLeave (state);
     if(state==null)
         state = this.getState (STATE_ID.LOGIN_STATE);
     state.onEnter (current_state);
     current_state = state;
 }
Ejemplo n.º 6
0
 public void onTrigger(EVENT_TYPE event_type,object data)
 {
     current_state.onTrigger (event_type, data);
     State next_state = current_state.check ();
     if ((next_state==null) || (next_state.id == current_state.id)) {
         return;
     }
     current_state.onLeave (next_state);
     next_state.onEnter (current_state);
     current_state = next_state;
 }