From 338eb3cc8cb39cefdd870670437bda0d73fd51ef Mon Sep 17 00:00:00 2001 From: Julien Amsellem Date: Thu, 17 Jun 2021 14:24:54 +0200 Subject: [PATCH 1/2] Stop updating color when EyeDropped is stopped with Esc key --- .../Editor/Controls/VFXColorField.cs | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/com.unity.visualeffectgraph/Editor/Controls/VFXColorField.cs b/com.unity.visualeffectgraph/Editor/Controls/VFXColorField.cs index 6f123a6bc60..744f0270de6 100644 --- a/com.unity.visualeffectgraph/Editor/Controls/VFXColorField.cs +++ b/com.unity.visualeffectgraph/Editor/Controls/VFXColorField.cs @@ -94,7 +94,8 @@ VisualElement CreateColorContainer() return m_Container; } - bool m_ShowAlpha = true; + private bool m_ShowAlpha = true; + private Color m_InitialColor; public bool showAlpha { @@ -139,9 +140,28 @@ VisualElement CreateEyeDropper() IVisualElementScheduledItem m_EyeDropperScheduler; void OnEyeDropperStart(MouseDownEvent e) { + if (EyeDropper.IsOpened) + { + return; + } + + this.m_InitialColor = m_Value; EyeDropper.Start(OnGammaColorChanged); - m_EyeDropperScheduler = this.schedule.Execute(OnEyeDropperMove).Every(10).StartingIn(10); - m_EyeDropper.UnregisterCallback(OnEyeDropperStart); + m_EyeDropperScheduler = this.schedule.Execute(OnEyeDropperMove).Every(10).StartingIn(10).Until(this.ShouldStopWatchingEyeDropper); + } + + private bool ShouldStopWatchingEyeDropper() + { + if (EyeDropper.IsOpened) + { + return false; + } + + if (EyeDropper.IsCancelled) + { + SetValue(m_InitialColor); + } + return true; } void OnEyeDropperMove(TimerState state) @@ -153,7 +173,7 @@ void OnEyeDropperMove(TimerState state) } } - VisualElement m_EyeDropper; + readonly VisualElement m_EyeDropper; public VFXColorField(string label) : base(label) { @@ -186,7 +206,6 @@ void OnColorChanged(Color color) { m_EyeDropperScheduler.Pause(); m_EyeDropperScheduler = null; - m_EyeDropper.RegisterCallback(OnEyeDropperStart); } if (OnValueChanged != null) From 2004e6e7d4566617ba092feafa77850c55ced6f9 Mon Sep 17 00:00:00 2001 From: Julien Amsellem Date: Thu, 9 Sep 2021 15:57:46 +0200 Subject: [PATCH 2/2] Updated changelog --- com.unity.visualeffectgraph/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/com.unity.visualeffectgraph/CHANGELOG.md b/com.unity.visualeffectgraph/CHANGELOG.md index 42a7200b6c5..303d07ebc18 100644 --- a/com.unity.visualeffectgraph/CHANGELOG.md +++ b/com.unity.visualeffectgraph/CHANGELOG.md @@ -99,6 +99,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Don't open an empty VFX Graph Editor when assigning a VFX Asset to a Visual Effect GameObject from the inspector [Case 1347399](https://issuetracker.unity3d.com/product/unity/issues/guid/1347399/) - Visual Effect inspector input fields don't lose focus anymore while typing (Random seed) - Prevent vector truncation error in HDRP Decal template +- Eye dropper in the color fields kept updating after pressing the Esc key ## [11.0.0] - 2020-10-21 ### Added