예제 #1
0
    private void MakeFSM()
    {
        IdleState idle = new IdleState();

        idle.AddTransition(Transition.Walk, StateID.Walk);
        idle.AddTransition(Transition.Jump, StateID.Jump);
        idle.AddTransition(Transition.Die, StateID.Die);

        WalkState walk = new WalkState(path);

        walk.AddTransition(Transition.Idle, StateID.Idle);
        walk.AddTransition(Transition.Jump, StateID.Jump);
        walk.AddTransition(Transition.Die, StateID.Die);

        JumpState jump = new JumpState();

        jump.AddTransition(Transition.Idle, StateID.Idle);
        jump.AddTransition(Transition.Die, StateID.Die);
        DeadState die = new DeadState();

        fsm = new FSMSystem();
        fsm.AddState(idle);
        fsm.AddState(walk);
        fsm.AddState(jump);
        fsm.AddState(die);
    }
예제 #2
0
    private void MakeFSM()
    {
        IdleState idleState = new IdleState(this, StateID.IdleState);
        WalkState walkState = new WalkState(this, StateID.PatrolState, walkSpeed);

        //IdleState
        idleState.AddTransition(new TimeTransition(walkState, idleTime));

        //WalkState
        walkState.AddTransition(new TimeTransition(idleState, walkTime));

        _fsm.AddState(idleState);
        _fsm.AddState(walkState);
    }
예제 #3
0
    public void InitStateSystem()         //初始化管理员
    {
        IdleState idle = new IdleState(this.gameObject, this);

        idle.AddTransition(Transition.eTransiton_Object_Walk, StateID.eStateID_Object_Walk);

        WalkState walk = new WalkState(this.gameObject, this);

        walk.AddTransition(Transition.eTransiton_Object_Idle, StateID.eStateID_Object_Idle);

        m_StateSystem = new StateSystem();
        m_StateSystem.AddState(idle);
        m_StateSystem.AddState(walk);
    }