Files
Cielonos/Assets/Scripts/MainGame/Effects/PostProcessing/TonemappingSubmodule.cs
SoulliesOfficial ef7b479712 initial
2025-11-25 08:19:33 -05:00

52 lines
2.0 KiB
C#

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<Beautify.Universal.Beautify>(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);
}
}