public void Tick(ITimedService service) { var values = new ObjectShakeEffect.PingPongValues(); values.Randomize(); float timeUntilNextShake = 0; while (timePassed >= totalDuration) { if (timeUntilNextShake < 0) { currentShake = ObjectShakeEffect.GetOffset(context, timePassed, values, mode, intensity, dimensions); timeUntilNextShake = 1 / frequency.Evaluate(context, timePassed); values.Toggle(); } timePassed += Time.deltaTime; timeUntilNextShake -= Time.deltaTime; } }
private void OnEnable() { effect = (ObjectShakeEffect)target; }