예제 #1
0
 public Module_Crouch(Player2DMotor motor, Player2DFeedbacks feedback) : base(motor, feedback)
 {
     //Unifinished script
     collider       = motor.GetComponent <BoxCollider2D>();
     originalOffset = collider.offset;
     originalSize   = collider.size;
 }
예제 #2
0
 public MotorState_Hurt(Player2DMotor motor, Player2DFeedbacks feedbacks) : base(motor, feedbacks)
 {
     modules = new List <ModuleBase>()
     {
         new Module_Gravity(motor, feedbacks),
         new Module_HurtKnockBack(motor, feedbacks),
     };
 }
예제 #3
0
 public MotorStateBase(Player2DMotor motor, Player2DFeedbacks feedback)
 {
     this.motor    = motor;
     this.feedback = feedback;
     motorStatus   = motor.status;
     raycaster     = motor.raycaster;
     settings      = GameSettings.instance;
 }
 public MotorState_WallClimb(Player2DMotor motor, Player2DFeedbacks feedback) : base(motor, feedback)
 {
     wallClimb = new Module_WallClimb(motor, this.feedback);
     modules   = new List <ModuleBase>()
     {
         new Module_Gravity(motor, feedback),
         wallClimb
     };
 }
 public MotorState_Aerial(Player2DMotor motor, Player2DFeedbacks feedbacks) : base(motor, feedbacks)
 {
     modules = new List <ModuleBase>()
     {
         new Module_Gravity(motor, feedbacks),
         new Module_MoveInAir(motor, feedbacks),
         new Module_StandardJump(motor, feedbacks),
     };
 }
예제 #6
0
 public MotorState_MoveOnGround(Player2DMotor motor, Player2DFeedbacks feedback) : base(motor, feedback)
 {
     modules = new List <ModuleBase>()
     {
         new Module_Gravity(motor, feedback),
         new Module_MoveOnGround(motor, feedback),
         new Module_StandardJump(motor, feedback),
     };
 }
예제 #7
0
    void Awake()
    {
        //Reference
        rb        = GetComponent <Rigidbody2D>();
        raycaster = GetComponent <MotorRaycaster>();
        Feedbacks = GetComponentInChildren <Player2DFeedbacks>();

        //Initialize various variables
        status           = new MotorStatus();
        stateClassLookup = new Dictionary <MotorStates, MotorStateBase> //Store all the FSM classes using their common base class
        {
            { MotorStates.OnGround, new MotorState_MoveOnGround(this, Feedbacks) },
            { MotorStates.Aerial, new MotorState_Aerial(this, Feedbacks) },
            { MotorStates.WallClimb, new MotorState_WallClimb(this, Feedbacks) },
            { MotorStates.Hurt, new MotorState_Hurt(this, Feedbacks) },
        };

        currentStateType  = MotorStates.OnGround;
        currentStateClass = stateClassLookup[currentStateType];
    }
예제 #8
0
 public Module_WallClimb(Player2DMotor motor, Player2DFeedbacks feedback) : base(motor, feedback)
 {
 }
예제 #9
0
 public Module_HurtKnockBack(Player2DMotor motor, Player2DFeedbacks feedback) : base(motor, feedback)
 {
 }
예제 #10
0
 public Module_Gravity(Player2DMotor motor, Player2DFeedbacks feedback) : base(motor, feedback)
 {
 }
 public Module_StandardJump(Player2DMotor motor, Player2DFeedbacks feedback) : base(motor, feedback)
 {
 }
 public void Awake()
 {
     motor     = GetComponent <Player2DMotor>();
     feedbacks = GetComponentInChildren <Player2DFeedbacks>();
 }
예제 #13
0
 public Module_MoveInAir(Player2DMotor motor, Player2DFeedbacks feedback) : base(motor, feedback)
 {
 }
 public Module_MoveOnGround(Player2DMotor motor, Player2DFeedbacks feedback) : base(motor, feedback)
 {
 }