Skip to content
Wu Jie edited this page Aug 17, 2013 · 4 revisions

protected override void InitStateMachine () {

    // ======================================================== 
    // states 
    // ======================================================== 

    fsm.State idle = new fsm.State( "idle", null );
    idle.onEnter += EnterIdleState;

    fsm.State spawn = new fsm.State( "spawn", null ); 
    spawn.onEnter += EnterSpawnState;
    spawn.onExit += ExitSpawnState;
    spawn.onAction += UpdateSpawnState;

    fsm.State fallDown = new fsm.State( "fallDown", null );
    // fallDown.onEnter += EnterFallDownState;
    fallDown.onExit += ExitFallDownState;

    // fsm.State moveUp = new fsm.State( "moveUp", null );
    // moveUp.onEnter += EnterMoveUpState;
    // moveUp.onExit += ExitMoveUpState;

    fsm.State disappear = new fsm.State( "disappear", null );
    disappear.onExit += ExitDisappearState;

    // fsm.State dead = new fsm.State( "dead", null );
    // dead.onEnter += EnterDeadState;
    // dead.onExit += ExitDeadState;

    stateList[(int)State.Unknown] = null;
    stateList[(int)State.Idle] = idle;
    stateList[(int)State.Spawn] = spawn;
    stateList[(int)State.Freeze] = null;
    stateList[(int)State.Falling] = fallDown;
    stateList[(int)State.MoveUp] = null;
    stateList[(int)State.MoveTo] = null;
    stateList[(int)State.Exchanging] = null;
    stateList[(int)State.Upgrading] = null;
    stateList[(int)State.Dragging] = null;
    stateList[(int)State.Unlocking] = null;
    stateList[(int)State.Disappear] = disappear;
    stateList[(int)State.Eliminating] = null;
    stateList[(int)State.Dead] = null;
}
Clone this wiki locally