private void DoFlinch() { switch (flinchDir) { case FlinchDir.Back: currentFlinch += flinchSpeed * Time.deltaTime; if (currentFlinch >= flinchAmount) { currentFlinch = flinchAmount; flinchDir = FlinchDir.Forth; } break; case FlinchDir.Forth: currentFlinch -= flinchSpeed * Time.deltaTime; if (currentFlinch <= 0f) { currentFlinch = 0f; isFlinching = false; } break; } Vector3 rot = flinchBone.rotation.eulerAngles; rot.x -= currentFlinch; rot.y -= currentFlinch; flinchBone.eulerAngles = rot; }
public void StartFlinch() { if (!isFlinching) { isFlinching = true; currentFlinch = 0f; flinchDir = FlinchDir.Back; } }