using SLSFramework.General; using UnityEngine; namespace Cielonos.MainGame.Effects { public partial class TonemappingSubmodule : PostProcessingSubmoduleBase { public LerpFloat saturate; public LerpFloat contrast; public LerpFloat brightness; public LerpColor tintColor; public TonemappingSubmodule(PostProcessingManager owner) : base(owner) { this.saturate = new LerpFloat(1.2f, 0.05f); this.brightness = new LerpFloat(1f, 0.05f); this.contrast = new LerpFloat(1.15f, 0.05f); this.tintColor = new LerpColor(new Color(0.9411765f, 1, 1), 0.05f); } public override void Update(float factor) { saturate.Update(factor); brightness.Update(factor); contrast.Update(factor); tintColor.Update(factor); if(owner.GetVolumeComponent(out var beautify)) { beautify.saturate.value = saturate.currentValue; beautify.brightness.value = brightness.currentValue; beautify.contrast.value = contrast.currentValue; beautify.tintColor.value = tintColor.currentValue; } } } public partial class TonemappingSubmodule { public void ModifySaturate(float value) => ModifyCurrentValue(saturate, value); public void SetSaturate(float value) => SetCurrentValue(saturate, value); public void ModifyBrightness(float value) => ModifyCurrentValue(brightness, value); public void SetBrightness(float value) => SetCurrentValue(brightness, value); public void ModifyContrast(float value) => ModifyCurrentValue(contrast, value); public void SetContrast(float value) => SetCurrentValue(contrast, value); public void ModifyTintColor(Color value) => ModifyCurrentValue(tintColor, value); public void SetTintColor(Color value) => SetCurrentValue(tintColor, value); } }