diff --git a/ActionTimelineEx/Configurations/Actions/ActionSetting.cs b/ActionTimelineEx/Configurations/Actions/ActionSetting.cs index 6fcdde8..c5868ac 100644 --- a/ActionTimelineEx/Configurations/Actions/ActionSetting.cs +++ b/ActionTimelineEx/Configurations/Actions/ActionSetting.cs @@ -41,6 +41,9 @@ public uint ActionId } } + [UI("Action ID")] + public int ActionID { get => (int) ActionId; set => ActionId = (uint)value; } + internal abstract ActionSettingType Type { get; } [UI("Is this Action Highlight")] diff --git a/ActionTimelineEx/Configurations/Actions/GCDAction.cs b/ActionTimelineEx/Configurations/Actions/GCDAction.cs index af881e6..cf736d5 100644 --- a/ActionTimelineEx/Configurations/Actions/GCDAction.cs +++ b/ActionTimelineEx/Configurations/Actions/GCDAction.cs @@ -11,6 +11,15 @@ public class GCDAction : ActionSetting { internal override ActionSettingType Type => ActionSettingType.Action; + [UI] + public string Display + { + get + { + return string.Empty; + } + } + [UI] public List oGCDs { get; set; } = []; diff --git a/ActionTimelineEx/Helpers/RotationHelper.cs b/ActionTimelineEx/Helpers/RotationHelper.cs index 2ba021a..de2e22a 100644 --- a/ActionTimelineEx/Helpers/RotationHelper.cs +++ b/ActionTimelineEx/Helpers/RotationHelper.cs @@ -53,9 +53,17 @@ private static void UpdateHighlight() _highLight.Color = Plugin.Settings.RotationHighlightColor; _highLight.HotbarIDs.Clear(); - var action = ActiveAction; - if (action == null) return; + ActionSetting? action = null; + try + { + action = ActiveAction; + } + catch + { + return; + } + if (action == null) return; HotbarID? hotBar = null; switch (action.Type) diff --git a/ActionTimelineEx/Windows/RotationHelperWindow.cs b/ActionTimelineEx/Windows/RotationHelperWindow.cs index 6b1edbf..697a5ad 100644 --- a/ActionTimelineEx/Windows/RotationHelperWindow.cs +++ b/ActionTimelineEx/Windows/RotationHelperWindow.cs @@ -22,7 +22,7 @@ public static void Draw() var flag = TimelineWindow._baseFlags; if (setting.RotationLocked) { - flag |= ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.NoMouseInputs; + flag |= ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoMove; } Vector4 bgColor = setting.RotationLocked ? setting.RotationLockedBackgroundColor : setting.RotationUnlockedBackgroundColor; @@ -34,6 +34,12 @@ public static void Draw() if (ImGui.Begin("Rotation Helper Window", flag)) { + //Double click to clear. + if (DrawHelper.IsInRect(ImGui.GetWindowPos(), ImGui.GetWindowSize()) && ImGui.IsMouseDoubleClicked(ImGuiMouseButton.Left)) + { + RotationHelper.Clear(); + } + var padding = ImGui.GetStyle().WindowPadding; var border = ImGui.GetStyle().WindowBorderSize; ImGui.GetStyle().WindowPadding = default; diff --git a/ActionTimelineEx/Windows/TimelineWindow.cs b/ActionTimelineEx/Windows/TimelineWindow.cs index 531c9a3..accb40b 100644 --- a/ActionTimelineEx/Windows/TimelineWindow.cs +++ b/ActionTimelineEx/Windows/TimelineWindow.cs @@ -1,4 +1,5 @@ using ActionTimelineEx.Configurations; +using ActionTimelineEx.Helpers; using ActionTimelineEx.Timeline; using Dalamud.Interface.Utility; using Dalamud.Interface.Utility.Raii;