private void UpdateShakers() { for (int i = 0; i < camPosShakers.Count; i++) { CameraShaker camShaker = camPosShakers[i]; camPosShake -= camShaker.LastShake; Vector3 thisShake = camShaker.Shake(); if (camShaker.HasEnded) { camPosShakers.RemoveAt(i); } else { camPosShake += thisShake; } } for (int i = 0; i < camRotShakers.Count; i++) { CameraShaker camShaker = camRotShakers[i]; camRotShake -= camShaker.LastShake; Vector3 thisShake = camShaker.Shake(); if (camShaker.HasEnded) { camRotShakers.RemoveAt(i); } else { camRotShake += thisShake; } } // Just in case if (camPosShakers.Count == 0) { camPosShake = Vector3.zero; } if (camRotShakers.Count == 0) { camRotShake = Vector3.zero; } }