private void LeanRightStart() { // Cannot lean right if currently leaning left if (leanState == LeanState.LEAN_LEFT) { return; } leanState = LeanState.LEAN_RIGHT; leanValue = 0.5f; leanTime = 0f; }
void Lean() { if (Input.GetKey(rightLeanInput) && leanState != LeanState.Right) { DOTween.Kill("Lean"); leanState = LeanState.Right; _bobbingParent.DOLocalRotate(new Vector3(0, 0, -leanMaxAngle), leanSpeed).SetSpeedBased().SetId("Lean"); } else if (Input.GetKey(leftLeanInput) && leanState != LeanState.Left) { DOTween.Kill("Lean"); leanState = LeanState.Left; _bobbingParent.DOLocalRotate(new Vector3(0, 0, leanMaxAngle), leanSpeed).SetSpeedBased().SetId("Lean"); } else if (!Input.GetKey(rightLeanInput) && !Input.GetKey(leftLeanInput) && leanState != LeanState.None) { DOTween.Kill("Lean"); leanState = LeanState.None; _bobbingParent.DOLocalRotate(new Vector3(0, 0, 0), leanResetSpeed).SetSpeedBased().SetId("Lean"); } }
private void StopLeaning() { leanState = LeanState.IDLE; leanValue = 0f; leanTime = 0f; }