private void Update() { var animationCurve = (_targetFade <= 0f) ? _fadeOutCurve : _fadeInCurve; var fadeTime = Mathf.InverseLerp(_startFadeTime, _startFadeTime + _fadeDuration, Time.time); _fadeFraction = Mathf.Lerp(_startFade, _targetFade, animationCurve.Evaluate(fadeTime)); var probeRuleSet = _probe.GetRulesetDetector().GetProbeRuleSet(); var lanternRange = (!(probeRuleSet != null) || !probeRuleSet.GetOverrideLanternRange()) ? _originalRange : probeRuleSet.GetLanternRange(); _light.range = lanternRange * _fadeFraction; if (_emissiveRenderer != null) { _emissiveRenderer.SetEmissiveScale(_fadeFraction); } if (fadeTime >= 1f) { enabled = false; } }