Files
Cielonos/Assets/OtherPlugins/Le Tai's Asset/TranslucentImage/Demo/zz_Common/Scripts/MainDemoViewController.cs

75 lines
2.1 KiB
C#
Raw Normal View History

2025-12-08 05:27:53 -05:00
using UnityEngine;
using UnityEngine.UI;
namespace LeTai.Asset.TranslucentImage.Demo
{
public class MainDemoViewController : MonoBehaviour
{
public Toggle toggleLightMode;
public Toggle toggleDarkMode;
public Slider sliderBlurStrength;
public Slider sliderVibrancy;
public Slider sliderUpdateRate;
public TranslucentImage[] translucentImages;
TranslucentImageSource source;
float backupBlurStrength;
float[] backupVibrancy;
void Start()
{
source = Shims.FindObjectOfType<TranslucentImageSource>();
var colorSchemeManager = GetComponent<ColorSchemeManager>();
BackupValues();
toggleLightMode.onValueChanged.AddListener(isOn =>
{
if (isOn) colorSchemeManager.SetColorScheme(ColorSchemeManager.DemoColorScheme.Light);
});
toggleDarkMode.onValueChanged.AddListener(isOn =>
{
if (isOn) colorSchemeManager.SetColorScheme(ColorSchemeManager.DemoColorScheme.Dark);
});
sliderBlurStrength.onValueChanged.AddListener(value =>
{
source.BlurConfig.Strength = value;
});
sliderVibrancy.onValueChanged.AddListener(value =>
{
for (int i = 0; i < translucentImages.Length; i++)
{
translucentImages[i].vibrancy = value;
}
});
sliderUpdateRate.onValueChanged.AddListener(value =>
{
source.MaxUpdateRate = Mathf.Approximately(value, sliderUpdateRate.maxValue) ? float.PositiveInfinity : value;
});
}
void BackupValues()
{
backupBlurStrength = source.BlurConfig.Strength;
backupVibrancy = new float[translucentImages.Length];
for (int i = 0; i < translucentImages.Length; i++)
{
backupVibrancy[i] = translucentImages[i].vibrancy;
}
}
void OnDestroy()
{
source.BlurConfig.Strength = backupBlurStrength;
for (int i = 0; i < translucentImages.Length; i++)
{
translucentImages[i].vibrancy = backupVibrancy[i];
}
}
}
};