Fix valid drop not resetting, add debounce timer to highlighting for showing on double click prevention

This commit is contained in:
Chandler Cox
2024-12-11 20:43:52 -06:00
parent 1e61abdfef
commit 99e836b1fb
2 changed files with 46 additions and 9 deletions

View File

@@ -33,6 +33,8 @@ namespace FlaxEditor.GUI.Tree
private bool _isHightlighted;
private float _targetHighlightTimeSec;
private float _currentHighlightTimeSec;
// Used to prevent showing highlight on double mouse click
private float _debounceHighlightTime;
private float _highlightScale;
private bool _mouseOverArrow, _mouseOverHeader;
private float _xOffset, _textWidth;
@@ -621,6 +623,7 @@ namespace FlaxEditor.GUI.Tree
_isHightlighted = true;
_targetHighlightTimeSec = durationSec;
_currentHighlightTimeSec = 0;
_debounceHighlightTime = 0;
_highlightScale = 2f;
}
@@ -632,6 +635,7 @@ namespace FlaxEditor.GUI.Tree
_isHightlighted = false;
_targetHighlightTimeSec = 0;
_currentHighlightTimeSec = 0;
_debounceHighlightTime = 0;
}
/// <inheritdoc />
@@ -640,6 +644,7 @@ namespace FlaxEditor.GUI.Tree
// Highlight animations
if (_isHightlighted)
{
_debounceHighlightTime += deltaTime;
_currentHighlightTimeSec += deltaTime;
// In the first second, animate the highlight to shrink into it's resting position
@@ -723,7 +728,7 @@ namespace FlaxEditor.GUI.Tree
trueTextRect.Width = textWidth;
trueTextRect.Scale(_highlightScale);
if (_isHightlighted)
if (_isHightlighted && _debounceHighlightTime > 0.1f)
{
Color highlightBackgroundColor = Editor.Instance.Options.Options.Visual.HighlightColor;
highlightBackgroundColor = highlightBackgroundColor.AlphaMultiplied(0.3f);
@@ -784,7 +789,7 @@ namespace FlaxEditor.GUI.Tree
}
}
if (_isHightlighted)
if (_isHightlighted && _debounceHighlightTime > 0.1f)
{
// Draw highlights
Render2D.DrawRectangle(trueTextRect, Editor.Instance.Options.Options.Visual.HighlightColor, 3);