/// <inheritdoc /> public void ApplyPatch(LightPatch patch) { _light.Visible = _light.Visible.GetPatchApplied(Enabled.ApplyPatch(patch.Enabled)); _light.LightColor = _light.LightColor.GetPatchApplied(Color.ApplyPatch(patch.Color)); _light.LightEnergy = _light.LightEnergy.GetPatchApplied(Intensity.ApplyPatch(patch.Intensity)); if (_light is SpotLight spotLight) { if (patch.SpotAngle.HasValue) { spotLight.SpotAngle = Mathf.Rad2Deg(patch.SpotAngle.Value); } spotLight.SpotRange = spotLight.SpotRange.GetPatchApplied(Range.ApplyPatch(patch.Range)); } else if (_light is OmniLight omniLight) { omniLight.OmniRange = omniLight.OmniRange.GetPatchApplied(Range.ApplyPatch(patch.Range)); } }