Work on editor a bit
This commit is contained in:
98
Assets/Scripts/ColorChangeManager.cs
Normal file
98
Assets/Scripts/ColorChangeManager.cs
Normal file
@@ -0,0 +1,98 @@
|
||||
using System;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class ColorChangeManager : MonoBehaviour
|
||||
{
|
||||
public static ColorChangeManager Instance;
|
||||
public TMP_InputField fadeInputField;
|
||||
public Slider fadeSlider;
|
||||
public TMP_InputField RInputBox;
|
||||
public TMP_InputField GInputBox;
|
||||
public TMP_InputField BInputBox;
|
||||
public Slider RSlider;
|
||||
public Slider GSlider;
|
||||
public Slider BSlider;
|
||||
public Image previewImage;
|
||||
private bool changedWithCode = false;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
Instance = this;
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
fadeInputField.onValueChanged.AddListener(newValue =>
|
||||
{
|
||||
if (changedWithCode) return;
|
||||
changedWithCode = true;
|
||||
try
|
||||
{
|
||||
float floatValue = float.Parse(newValue);
|
||||
fadeSlider.value = Math.Clamp(floatValue, 0, 10);
|
||||
}
|
||||
catch
|
||||
{
|
||||
fadeInputField.text = "0";
|
||||
fadeSlider.value = 0;
|
||||
}
|
||||
changedWithCode = false;
|
||||
});
|
||||
fadeSlider.onValueChanged.AddListener(newValue =>
|
||||
{
|
||||
if (changedWithCode) return;
|
||||
changedWithCode = true;
|
||||
fadeInputField.text = MathF.Round(newValue, 2).ToString();
|
||||
changedWithCode = false;
|
||||
});
|
||||
RInputBox.onValueChanged.AddListener(newValue => UpdateBackgroundColorPreview(0));
|
||||
GInputBox.onValueChanged.AddListener(newValue => UpdateBackgroundColorPreview(0));
|
||||
BInputBox.onValueChanged.AddListener(newValue => UpdateBackgroundColorPreview(0));
|
||||
RSlider.onValueChanged.AddListener(newValue => UpdateBackgroundColorPreview(1));
|
||||
RSlider.onValueChanged.AddListener(newValue => UpdateBackgroundColorPreview(1));
|
||||
RSlider.onValueChanged.AddListener(newValue => UpdateBackgroundColorPreview(1));
|
||||
}
|
||||
|
||||
void UpdateBackgroundColorPreview(int mode)
|
||||
{
|
||||
if (changedWithCode) return;
|
||||
changedWithCode = true;
|
||||
int r_value;
|
||||
try
|
||||
{
|
||||
r_value = mode == 0 ? Math.Clamp(int.Parse(RInputBox.text), 0, 255) : (int)RSlider.value;
|
||||
}
|
||||
catch
|
||||
{
|
||||
r_value = 0;
|
||||
}
|
||||
RInputBox.text = r_value.ToString();
|
||||
RSlider.value = r_value;
|
||||
int g_value;
|
||||
try
|
||||
{
|
||||
g_value = mode == 0 ? Math.Clamp(int.Parse(GInputBox.text), 0, 255) : (int)GSlider.value;
|
||||
}
|
||||
catch
|
||||
{
|
||||
g_value = 0;
|
||||
}
|
||||
RInputBox.text = g_value.ToString();
|
||||
GSlider.value = g_value;
|
||||
int b_value;
|
||||
try
|
||||
{
|
||||
b_value = mode == 0 ? Math.Clamp(int.Parse(BInputBox.text), 0, 255) : (int)BSlider.value;
|
||||
}
|
||||
catch
|
||||
{
|
||||
b_value = 0;
|
||||
}
|
||||
BInputBox.text = b_value.ToString();
|
||||
BSlider.value = b_value;
|
||||
previewImage.color = new Color(r_value / 255f, g_value / 255f, b_value / 255f);
|
||||
changedWithCode = false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user