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); }
public StateJumping(FSMSquirrel fsm) : base(fsm, "Jumping") { }
public StateOnFloor(FSMSquirrel fsm) : base(fsm, "OnFloor") { }
public StateHiding(FSMSquirrel fsm) : base(fsm, "Hiding") { }
public StateFalling(FSMSquirrel fsm) : base(fsm, "Falling") { }
public StateClimbing(FSMSquirrel fsm) : base(fsm, "Climbing") { }