public override void EnterState(PawnMovement machine) { PawnAI ai = machine.GetComponent <PawnAI>(); ai.paused = true; machine.OnAirborn.Invoke(); }
public override void DoFixedUpdate(PawnMovement machine) { Vector3 v = machine.body.velocity; v.x = machine.beingHit ? 0f : machine.move * speed; machine.body.velocity = v; }
public override void DoFixedUpdate(PawnMovement machine) { Vector2 v = machine.body.velocity; v.y = jumpForce; machine.body.velocity = v; machine.SetState(airbornState); }
public override void Jump(PawnMovement machine) { if (machine.jumpCount < maxJumpCount) { machine.OnAirJump.Invoke(); machine.SetState(jumpState); } }
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(); }
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; }
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; }
public override void Move(PawnMovement machine, float axis) { machine.move = axis; }
public override void ExitState(PawnMovement machine) { machine.body.gravityScale = 1f; }
public override void EnterState(PawnMovement machine) { machine.OnAirborn.Invoke(); }
public override void Jump(PawnMovement machine) { machine.SetState(jumpState); }
public override void EnterState(PawnMovement machine) { machine.jumpCount = 0; machine.OnLand.Invoke(); }
public override void Jump(PawnMovement machine, Vector2 destination) { machine.SetState(jumpState); jumpState.Jump(machine, destination); }
private void Awake() { pawn = GetComponent <Pawn>(); pawnMovement = GetComponent <PawnMovement>(); pawnAI = GetComponent <PawnAI>(); }
private void Awake() { movement = GetComponent <PawnMovement>(); animator = GetComponentInChildren <PawnAnimator>(); }
public override void DoFixedUpdate(PawnMovement machine) { machine.body.velocity = Vector2.zero; }
public override void ExitState(PawnMovement machine) { PawnAI ai = machine.GetComponent <PawnAI>(); ai.paused = false; }
public override void EnterState(PawnMovement machine) { machine.jumpCount++; machine.OnJump.Invoke(); }