52 lines
2.0 KiB
C#
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);
|
|
}
|
|
}
|