Color picker UI integration

This commit is contained in:
2020-07-21 00:52:23 -07:00
parent b1d6e43512
commit d5702ee0e7
17 changed files with 6496 additions and 50 deletions

View File

@ -0,0 +1,21 @@
using ConformalDecals.Util;
using UnityEngine;
using UnityEngine.UI;
namespace ConformalDecals.UI {
public class ColorBoxSlider : MonoBehaviour {
[SerializeField] private ColorPickerController.ChannelUpdateEvent _onXChannelChanged = new ColorPickerController.ChannelUpdateEvent();
[SerializeField] private ColorPickerController.ChannelUpdateEvent _onYChannelChanged = new ColorPickerController.ChannelUpdateEvent();
[SerializeField] private Vector2 _value;
[SerializeField] private Vector2Int _channel;
[SerializeField] private bool _hsl;
[SerializeField] private BoxSlider _slider;
[SerializeField] private Image _image;
public void OnSliderUpdate(Vector2 value) { }
public void OnColorUpdate(Color rgb, ColorHSL hsl) { }
}
}

View File

@ -0,0 +1,23 @@
using ConformalDecals.Util;
using UnityEngine;
using UnityEngine.UI;
namespace ConformalDecals.UI {
public class ColorChannelSlider : MonoBehaviour {
[SerializeField] private ColorPickerController.ChannelUpdateEvent _onChannelChanged = new ColorPickerController.ChannelUpdateEvent();
[SerializeField] private float _value;
[SerializeField] private int _channel;
[SerializeField] private bool _hsl;
[SerializeField] private Selectable _textBox;
[SerializeField] private Slider _slider;
[SerializeField] private Image _image;
public void OnTextBoxUpdate(string text) { }
public void OnSliderUpdate(float value) { }
public void OnColorUpdate(Color rgb, ColorHSL hsl) { }
}
}

View File

@ -0,0 +1,12 @@
using System;
using System.Globalization;
using UnityEngine;
namespace ConformalDecals.Util {
public struct ColorHSL {
public float h;
public float s;
public float l;
public float a;
}
}

View File

@ -0,0 +1,27 @@
using System;
using ConformalDecals.Util;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
namespace ConformalDecals.UI {
public class ColorPickerController : MonoBehaviour {
[Serializable]
public class ColorUpdateEvent : UnityEvent<Color, ColorHSL> { }
[Serializable]
public class ChannelUpdateEvent : UnityEvent<float, int, bool> { }
[SerializeField] private ColorUpdateEvent _onColorChanged = new ColorUpdateEvent();
[SerializeField] private Color _value;
[SerializeField] private Image _previewImage;
[SerializeField] private Selectable _hexTextBox;
public void OnClose() { }
public void OnHexColorUpdate(string text) { }
public void OnChannelUpdate(float value, int channel, bool hsl) { }
}
}

View File

@ -2,11 +2,9 @@ using UnityEngine;
namespace ConformalDecals.UI {
public class FontMenuController : MonoBehaviour {
[SerializeField] private GameObject _menuItem;
[SerializeField] private GameObject _menuList;
public void OnClose() {
}
public void OnClose() { }
}
}

View File

@ -109,7 +109,7 @@ Shader "ConformalDecals/UI/ColorSlider"
#endif //BLUE
#ifdef UNITY_UI_CLIP_RECT
color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect);
color.a *= UnityGet2DClipping(i.worldPosition.xy, _ClipRect);
#endif
#ifdef UNITY_UI_ALPHACLIP

View File

@ -87,7 +87,7 @@ Shader "ConformalDecals/UI/HSLSquare"
color.rgb = HSL2RGB(float3(_Hue, i.uv.x, i.uv.y));
#ifdef UNITY_UI_CLIP_RECT
color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect);
color.a *= UnityGet2DClipping(i.worldPosition.xy, _ClipRect);
#endif
#ifdef UNITY_UI_ALPHACLIP

File diff suppressed because it is too large Load Diff