using ChocDino.UIFX; using Cielonos.MainGame; using DG.Tweening; using Sirenix.OdinInspector; using SLSUtilities.General; using SLSUtilities.UI; using UnityEngine; using UnityEngine.UI.Extensions.ColorPicker; namespace Cielonos.MainGame.UI { public class PlayerHealthBar : AttributeBarBase { public GlowFilter glowFilter; private Tweener colorTweener; protected override void Awake() { base.Awake(); useLerpColor = true; fillColor = new LerpColor(GetTargetColor(1), 0.2f); } public Color GetTargetColor(float ratio) { float hue = Mathf.Lerp(120f, 0f, 1 - ratio); return HSVUtil.ConvertHsvToRgb(hue, 0.41f, 1f, 1f); /*if (ratio >= 0.9f) { return HSVUtil.ConvertHsvToRgb(120f, 0.41f, 1f, 1f); } else if(ratio >= 0.2f) { float hue = Mathf.Lerp(120f, 0f, (0.9f - ratio) / (0.9f - 0.2f)); return HSVUtil.ConvertHsvToRgb(hue, 0.41f, 1f, 1f); } else { return HSVUtil.ConvertHsvToRgb(0f, 0.41f, 1f, 1f); }*/ } public void GetHurtGlowBlink() { colorTweener?.Kill(); colorTweener = DOTween.To(() => glowFilter.Color, x => glowFilter.Color = x, Color.red, 0.1f) .From(Color.white) .SetLoops(2, LoopType.Yoyo); colorTweener.Play(); } } }