Exemple #1
0
        public override void EnterState(PawnMovement machine)
        {
            PawnAI ai = machine.GetComponent <PawnAI>();

            ai.paused = true;
            machine.OnAirborn.Invoke();
        }
Exemple #2
0
        public override void DoFixedUpdate(PawnMovement machine)
        {
            Vector3 v = machine.body.velocity;

            v.x = machine.beingHit ? 0f : machine.move * speed;
            machine.body.velocity = v;
        }
Exemple #3
0
        public override void DoFixedUpdate(PawnMovement machine)
        {
            Vector2 v = machine.body.velocity;

            v.y = jumpForce;
            machine.body.velocity = v;
            machine.SetState(airbornState);
        }
Exemple #4
0
 public override void Jump(PawnMovement machine)
 {
     if (machine.jumpCount < maxJumpCount)
     {
         machine.OnAirJump.Invoke();
         machine.SetState(jumpState);
     }
 }
Exemple #5
0
        public override void Jump(PawnMovement machine, Vector2 destination)
        {
            Sequence seq = DOTween.Sequence();

            seq.Append(machine.transform.DOJump(destination, jumpForce, 1, duration).SetEase(Ease.Linear));
            seq.AppendCallback(() => machine.SetState(moveState));
            seq.SetAutoKill(true);
            seq.Play();
        }
Exemple #6
0
        public override void DoFixedUpdate(PawnMovement machine)
        {
            if (!IsGrounded(machine.transform.position, groundedDefinition))
            {
                machine.SetState(airbornState);
                machine.jumpCount = 1;
                return;
            }

            machine.body.velocity = machine.beingHit ? Vector2.zero : Vector2.right * machine.move * speed;
        }
Exemple #7
0
        public override void DoFixedUpdate(PawnMovement machine)
        {
            Vector2 v = machine.body.velocity;

            if (PawnMovementGroundedState.IsGrounded(machine.transform.position, groundedDefinition) && v.y <= 0)
            {
                machine.SetState(groundedState);
                return;
            }

            machine.body.gravityScale = v.y < 0 ? gravityScaleFall : gravityScaleClimb;
            v.x = machine.move * speed;
            machine.body.velocity = v;
        }
Exemple #8
0
 public override void Move(PawnMovement machine, float axis)
 {
     machine.move = axis;
 }
Exemple #9
0
 public override void ExitState(PawnMovement machine)
 {
     machine.body.gravityScale = 1f;
 }
Exemple #10
0
 public override void EnterState(PawnMovement machine)
 {
     machine.OnAirborn.Invoke();
 }
Exemple #11
0
 public override void Jump(PawnMovement machine)
 {
     machine.SetState(jumpState);
 }
Exemple #12
0
 public override void EnterState(PawnMovement machine)
 {
     machine.jumpCount = 0;
     machine.OnLand.Invoke();
 }
Exemple #13
0
 public override void Jump(PawnMovement machine, Vector2 destination)
 {
     machine.SetState(jumpState);
     jumpState.Jump(machine, destination);
 }
Exemple #14
0
 private void Awake()
 {
     pawn         = GetComponent <Pawn>();
     pawnMovement = GetComponent <PawnMovement>();
     pawnAI       = GetComponent <PawnAI>();
 }
Exemple #15
0
 private void Awake()
 {
     movement = GetComponent <PawnMovement>();
     animator = GetComponentInChildren <PawnAnimator>();
 }
Exemple #16
0
 public override void DoFixedUpdate(PawnMovement machine)
 {
     machine.body.velocity = Vector2.zero;
 }
Exemple #17
0
        public override void ExitState(PawnMovement machine)
        {
            PawnAI ai = machine.GetComponent <PawnAI>();

            ai.paused = false;
        }
Exemple #18
0
 public override void EnterState(PawnMovement machine)
 {
     machine.jumpCount++;
     machine.OnJump.Invoke();
 }