private void Update() { if (currentShake != null) { if (holdTimer < currentShake.holdLength) { holdTimer += Time.deltaTime; } else if (fadeTimer < currentShake.fadeLength) { currentAmplitude *= currentShake.amplitudeDecay; currentFrequency *= currentShake.frequencyDecay; fadeTimer += Time.deltaTime; } else { currentAmplitude = 0; currentFrequency = 0; currentShake = null; holdTimer = 0; fadeTimer = 0; } UpdateValues(); } }
public void Shake(CameraShakeDefinition definition) { currentShake = definition; currentAmplitude = currentShake.amplitude; currentFrequency = currentShake.frequency; holdTimer = 0; fadeTimer = 0; UpdateValues(); }