From 1329f762c6fb073f24c566a10b7cc72dacde1673 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B=E6=B0=B4?= <1123993881@qq.com> Date: Tue, 18 Jul 2023 14:48:47 +0800 Subject: [PATCH] fix: add hp item icon. --- ActionTimelineEx/Helpers/DrawHelper.cs | 4 ++-- ActionTimelineEx/Timeline/TimelineItem.cs | 4 ++-- ActionTimelineEx/Timeline/TimelineManager.cs | 21 ++++++++------------ 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/ActionTimelineEx/Helpers/DrawHelper.cs b/ActionTimelineEx/Helpers/DrawHelper.cs index 5d014d2..b3cf16f 100644 --- a/ActionTimelineEx/Helpers/DrawHelper.cs +++ b/ActionTimelineEx/Helpers/DrawHelper.cs @@ -40,9 +40,9 @@ public static void DrawDamage(this ImDrawListPtr drawList, Vector2 position, flo _uv1, _uv2, lightCol); } - public static void DrawActionIcon(this ImDrawListPtr drawList, uint iconId, Vector2 position, float size) + public static void DrawActionIcon(this ImDrawListPtr drawList, uint iconId, bool isHq, Vector2 position, float size) { - TextureWrap? texture = GetTextureFromIconId(iconId); + TextureWrap? texture = GetTextureFromIconId(iconId, isHq); if (texture == null) return; var pixPerUnit = size / 82; diff --git a/ActionTimelineEx/Timeline/TimelineItem.cs b/ActionTimelineEx/Timeline/TimelineItem.cs index 1cec537..92d6877 100644 --- a/ActionTimelineEx/Timeline/TimelineItem.cs +++ b/ActionTimelineEx/Timeline/TimelineItem.cs @@ -11,7 +11,7 @@ public class TimelineItem : ITimelineItem { public string? Name { get; set; } public ushort Icon { get; set; } - + public bool IsHq { get; set; } public DateTime StartTime { get; init; } public float AnimationLockTime { get; set; } @@ -88,7 +88,7 @@ private void DrawItemWithCenter(ImDrawListPtr drawList, Vector2 centerPos, Vecto switch (icon) { case TimelineLayer.Icon: - drawList.DrawActionIcon(Icon, new Vector2(centerPos.X, centerPos.Y - iconSize / 2), iconSize); + drawList.DrawActionIcon(Icon, IsHq, new Vector2(centerPos.X, centerPos.Y - iconSize / 2), iconSize); return; case TimelineLayer.Status when setting.ShowStatus: diff --git a/ActionTimelineEx/Timeline/TimelineManager.cs b/ActionTimelineEx/Timeline/TimelineManager.cs index f52a981..a622de5 100644 --- a/ActionTimelineEx/Timeline/TimelineManager.cs +++ b/ActionTimelineEx/Timeline/TimelineManager.cs @@ -265,33 +265,28 @@ private void ActionFromSelfAsync(ActionEffectSet set) if (_lastItem != null && _lastItem.CastingTime > 0 && type == TimelineItemType.GCD && _lastItem.State == TimelineItemState.Casting) // Finish the casting. { - _lastItem.State = TimelineItemState.Finished; _lastItem.AnimationLockTime = set.Header.AnimationLockTime; - _lastItem.Name = set.Name; - _lastItem.Icon = set.IconId; - _lastItem.Damage = damage; } else { - var item = new TimelineItem() + AddItem(new TimelineItem() { - Name = set.Name, - Icon = set.IconId, StartTime = DateTime.Now, AnimationLockTime = type == TimelineItemType.AutoAttack ? 0 : set.Header.AnimationLockTime, GCDTime = type == TimelineItemType.GCD ? GCD : 0, Type = type, - State = TimelineItemState.Finished, - Damage = damage, - }; - - AddItem(item); + }); } var effectItem = _lastItem; - if (effectItem == null) return; + effectItem.Name = set.Name; + effectItem.Icon = set.IconId; + effectItem.State = TimelineItemState.Finished; + effectItem.Damage = damage; + effectItem.IsHq = set.Header.ActionType == ActionType.Item && set.Header.ActionID > 1000000; + foreach (var i in statusGain) { effectItem.StatusGainIcon.Add(i);