Skip to content
This repository has been archived by the owner on Aug 28, 2024. It is now read-only.

Commit

Permalink
fix: fix for timeline UI bugs.
Browse files Browse the repository at this point in the history
  • Loading branch information
ArchiDog1998 committed Jan 26, 2023
1 parent 9d0abd6 commit 8507513
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 22 deletions.
35 changes: 21 additions & 14 deletions RotationSolver/Actions/BaseAction/BaseAction_Display.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,22 +19,29 @@ public unsafe void Display(bool IsActive) => this.DrawEnableTexture(IsActive, ()
type => string.Format(LocalizationManager.RightLang.Configwindow_Helper_InsertCommand, this), false);

#if DEBUG
ImGui.Text("Have One:" + HaveOneChargeDEBUG.ToString());
ImGui.Text("Is Real GCD: " + IsRealGCD.ToString());
ImGui.Text("Recast One: " + RecastTimeOneChargeDEBUG.ToString());
ImGui.Text("Recast Elapsed: " + RecastTimeElapsedDEBUG.ToString());
ImGui.Text("Recast Remain: " + RecastTimeRemainDEBUG.ToString());
ImGui.Text("Status: " + ActionManager.Instance()->GetActionStatus(ActionType.Spell, AdjustedID).ToString());
try
{
ImGui.Text("Have One:" + HaveOneChargeDEBUG.ToString());
ImGui.Text("Is Real GCD: " + IsRealGCD.ToString());
ImGui.Text("Recast One: " + RecastTimeOneChargeDEBUG.ToString());
ImGui.Text("Recast Elapsed: " + RecastTimeElapsedDEBUG.ToString());
ImGui.Text("Recast Remain: " + RecastTimeRemainDEBUG.ToString());
ImGui.Text("Status: " + ActionManager.Instance()->GetActionStatus(ActionType.Spell, AdjustedID).ToString());

ImGui.Text("Cast Time: " + CastTime.ToString());
ImGui.Text("MP: " + MPNeed.ToString());
ImGui.Text($"Can Use: {CanUse(out _)} ");
ImGui.Text("Must Use:" + CanUse(out _, mustUse: true).ToString());
ImGui.Text("Empty Use:" + CanUse(out _, emptyOrSkipCombo: true).ToString());
ImGui.Text("IsUnlocked: " + UIState.Instance()->IsUnlockLinkUnlocked(AdjustedID).ToString());
if (Target != null)
ImGui.Text("Cast Time: " + CastTime.ToString());
ImGui.Text("MP: " + MPNeed.ToString());
ImGui.Text($"Can Use: {CanUse(out _)} ");
ImGui.Text("Must Use:" + CanUse(out _, mustUse: true).ToString());
ImGui.Text("Empty Use:" + CanUse(out _, emptyOrSkipCombo: true).ToString());
ImGui.Text("IsUnlocked: " + UIState.Instance()->IsUnlockLinkUnlocked(AdjustedID).ToString());
//if (Target != null)
//{
// ImGui.Text("Target Name: " + Target.Name);
//}
}
catch
{
ImGui.Text("Target Name: " + Target.Name);

}
#endif
});
Expand Down
2 changes: 1 addition & 1 deletion RotationSolver/Timeline/ConditionSet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public bool IsTrue(ICustomRotation combo) => Conditions.Count == 0 ? false :
public float Height => Conditions.Sum(c => c is ConditionSet ? c.Height + 10 : c.Height) + ICondition.DefaultHeight + 12;
public void Draw(ICustomRotation combo)
{
if (ImGui.BeginChild(GetHashCode().ToString(), new System.Numerics.Vector2(-1f, Height), true))
if (ImGui.BeginChild("ConditionSet" + GetHashCode().ToString(), new System.Numerics.Vector2(-1f, Height), true))
{
AddButton();

Expand Down
6 changes: 3 additions & 3 deletions RotationSolver/Timeline/MajorConditionSet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ namespace RotationSolver.Timeline;

internal class MajorConditionSet
{
public Dictionary<ActionID, ConditionSet> Conditions { get; } = new Dictionary<ActionID, ConditionSet>();
public Dictionary<uint, ConditionSet> Conditions { get; } = new Dictionary<uint, ConditionSet>();

public string Name;

Expand All @@ -31,7 +31,7 @@ public void Save(string folder)
File.WriteAllText(path, str);
}

public static IEnumerable<MajorConditionSet> Read(string folder)
public static MajorConditionSet[] Read(string folder)
{
if (!Directory.Exists(folder)) return new MajorConditionSet[0];

Expand All @@ -40,6 +40,6 @@ public static IEnumerable<MajorConditionSet> Read(string folder)
var str = File.ReadAllText(p);

return JsonConvert.DeserializeObject<MajorConditionSet>(str, new IConditionConverter());
}).Where(set => set != null);
}).Where(set => set != null && !string.IsNullOrEmpty(set.Name)).ToArray();
}
}
10 changes: 9 additions & 1 deletion RotationSolver/Updaters/TimeLineUpdater.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
using ImGuiNET;
using Newtonsoft.Json;
using RotationSolver.Actions;
using RotationSolver.Helpers;
using RotationSolver.SigReplacers;
using RotationSolver.Timeline;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;

Expand Down Expand Up @@ -32,7 +34,7 @@ public static void UpdateTimelineAction()

foreach (var conditionPair in set.Conditions)
{
var nextAct = allActions.FirstOrDefault(a => a.ID == (uint)conditionPair.Key);
var nextAct = allActions.FirstOrDefault(a => a.ID == conditionPair.Key);
if (nextAct == null) continue;

if (!conditionPair.Value.IsTrue(customRotation)) continue;
Expand Down Expand Up @@ -123,6 +125,12 @@ public static void DrawHeader()
{
AddNew();
}

ImGui.SameLine();
if (ImGuiHelper.IconButton(Dalamud.Interface.FontAwesomeIcon.Folder, "##OpenDefinationFolder"))
{
Process.Start("explorer.exe", _timelineFolder);
}
}
}
}
5 changes: 2 additions & 3 deletions RotationSolver/Windows/RotationConfigWindow_Action.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ internal partial class RotationConfigWindow

private void DrawActionTab()
{

ImGui.Columns(2);

DrawActionList();
Expand Down Expand Up @@ -66,9 +65,9 @@ private void DrawTimelineCondition()
var set = TimeLineUpdater.RightSet;
if (set == null) return;

if (!set.Conditions.TryGetValue((ActionID)ActiveAction.ID, out var conditionSet))
if (!set.Conditions.TryGetValue(ActiveAction.ID, out var conditionSet))
{
conditionSet = set.Conditions[(ActionID)ActiveAction.ID] = new Timeline.ConditionSet();
conditionSet = set.Conditions[ActiveAction.ID] = new Timeline.ConditionSet();
}

conditionSet?.Draw(rotation);
Expand Down

0 comments on commit 8507513

Please sign in to comment.