// Update is called once per frame void Update() { if (FollowPlayerModifier) { transform.position = FollowPlayerModifier.GetPlayerPosition(); } if (MouseLookModifier) { transform.localRotation = MouseLookModifier.GetRotation(); transform.localEulerAngles = new Vector3(transform.localEulerAngles.x, Player.localEulerAngles.y, transform.localEulerAngles.z); } if (HeadbobbingModifier) { transform.position = transform.position + new Vector3(0, HeadbobbingModifier.GetYBobAmount(), 0); } if (CameraShake && InCameraShakeMode.Value) { if (CameraShake.Enabled) { TimeForNewShake = 2 - (CameraShake.Omega.Value * 2); _timer += Time.deltaTime; if (_timer > TimeForNewShake) { originalPos = transform.localPosition; ShakeOffset = CameraShake.GetRandomOffset(); _timer = 0f; } transform.localPosition = ETween.Step(transform.localPosition, originalPos + ShakeOffset, 0.2f); } } }