Ejemplo n.º 1
0
    void setFSM()
    {
        _fsm          = new FSMSquirrel();
        _fsm.squirrel = this;

        var onFloor = new StateOnFloor(_fsm);
        var jumping = new StateJumping(_fsm);

        _climbing = new StateClimbing(_fsm);
        var falling = new StateFalling(_fsm);

        _hiding = new StateHiding(_fsm);


        //onFloorTo
        onFloor.transitions[InputSquirrel.jumpPressed]             = jumping;
        onFloor.transitions[InputSquirrel.wallNearAndClimbPressed] = _climbing;
        onFloor.transitions[InputSquirrel.leavePlatform]           = falling;
        //onFloor.transitions[InputSquirrel.ReachedDestination] = shootingCurve;
        onFloor.transitions[InputSquirrel.onHideSpotAndPressedHideKey] = _hiding;

        //jumpingTo
        jumping.transitions[InputSquirrel.timeOfJumpEnded]         = falling;
        jumping.transitions[InputSquirrel.wallNearAndClimbPressed] = _climbing;
        //jumping.transitions[InputSquirrel.TargetSeen] = planning;

        //climbingTo
        _climbing.transitions[InputSquirrel.jumpPressed]    = jumping;
        _climbing.transitions[InputSquirrel.unpressedClimb] = falling;

        //fallingTo
        falling.transitions[InputSquirrel.floorCollision]          = onFloor;
        falling.transitions[InputSquirrel.wallNearAndClimbPressed] = _climbing;

        //hidingTo
        _hiding.transitions[InputSquirrel.onHideSpotAndPressedHideKey] = onFloor;

        _fsm.SetInitial(falling);
    }
Ejemplo n.º 2
0
 public StateJumping(FSMSquirrel fsm) : base(fsm, "Jumping")
 {
 }
Ejemplo n.º 3
0
 public StateOnFloor(FSMSquirrel fsm) : base(fsm, "OnFloor")
 {
 }
Ejemplo n.º 4
0
 public StateHiding(FSMSquirrel fsm) : base(fsm, "Hiding")
 {
 }
Ejemplo n.º 5
0
 public StateFalling(FSMSquirrel fsm) : base(fsm, "Falling")
 {
 }
Ejemplo n.º 6
0
 public StateClimbing(FSMSquirrel fsm) : base(fsm, "Climbing")
 {
 }