Add tooltip for when going above 100% iterations
This commit is contained in:
@@ -137,7 +137,7 @@ public partial class Configuration : IPluginConfiguration
|
||||
}
|
||||
|
||||
[JsonSerializable(typeof(Configuration))]
|
||||
internal partial class JsonContext : JsonSerializerContext { }
|
||||
internal sealed partial class JsonContext : JsonSerializerContext { }
|
||||
|
||||
public void Save()
|
||||
{
|
||||
|
||||
@@ -1253,17 +1253,17 @@ public sealed class MacroEditor : Window, IDisposable
|
||||
{
|
||||
var percentWidth = ImGui.CalcTextSize("100%").X;
|
||||
var progressWidth = availSpace - percentWidth - spacing;
|
||||
var fraction = Math.Clamp((float)solver.ProgressValue / solver.ProgressMax, 0, 1);
|
||||
var fraction = (float)solver.ProgressValue / solver.ProgressMax;
|
||||
var progressColors = Colors.GetSolverProgressColors(solver.ProgressStage);
|
||||
|
||||
using (ImRaii.PushColor(ImGuiCol.FrameBg, progressColors.Background))
|
||||
using (ImRaii.PushColor(ImGuiCol.PlotHistogram, progressColors.Foreground))
|
||||
ImGui.ProgressBar(fraction, new(progressWidth, ImGui.GetFrameHeight()), string.Empty);
|
||||
ImGui.ProgressBar(Math.Clamp(fraction, 0, 1), new(progressWidth, ImGui.GetFrameHeight()), string.Empty);
|
||||
if (ImGui.IsItemHovered())
|
||||
ImGuiUtils.Tooltip($"Solver Progress: {solver.ProgressValue} / {solver.ProgressMax}");
|
||||
RecipeNote.DrawSolverTooltip(solver);
|
||||
ImGui.SameLine(0, spacing);
|
||||
ImGui.AlignTextToFramePadding();
|
||||
ImGuiUtils.TextRight($"{fraction * 100:0}%", percentWidth);
|
||||
ImGuiUtils.TextRight($"{fraction * 100:N0}%", percentWidth);
|
||||
}
|
||||
DrawMacroActions(availSpace);
|
||||
}
|
||||
|
||||
@@ -735,6 +735,14 @@ public sealed unsafe class RecipeNote : Window, IDisposable
|
||||
public Action<IEnumerable<ActionType>>? MacroEditorSetter;
|
||||
}
|
||||
|
||||
public static void DrawSolverTooltip(Solver.Solver solver)
|
||||
{
|
||||
var tooltip = $"Solver Progress: {solver.ProgressValue:N0} / {solver.ProgressMax:N0}";
|
||||
if (solver.ProgressValue > solver.ProgressMax)
|
||||
tooltip += $"\n\nThis is taking longer than expected. Check to see if your gear stats are good and the solver settings are adequate.";
|
||||
ImGuiUtils.TooltipWrapped(tooltip);
|
||||
}
|
||||
|
||||
private void DrawMacro(in MacroTaskState state, float panelWidth)
|
||||
{
|
||||
var panelTitle = state.Type switch
|
||||
@@ -812,7 +820,7 @@ public sealed unsafe class RecipeNote : Window, IDisposable
|
||||
ImGui.ColorConvertFloat4ToU32(progressColors.Background),
|
||||
ImGui.ColorConvertFloat4ToU32(progressColors.Foreground));
|
||||
if (ImGui.IsItemHovered())
|
||||
ImGuiUtils.Tooltip($"Solver Progress: {solver.ProgressValue} / {solver.ProgressMax}");
|
||||
DrawSolverTooltip(solver);
|
||||
|
||||
ImGui.SameLine(0, spacing);
|
||||
|
||||
|
||||
@@ -411,17 +411,17 @@ public sealed unsafe class SynthHelper : Window, IDisposable
|
||||
|
||||
var percentWidth = ImGui.CalcTextSize("100%").X;
|
||||
var progressWidth = availSpace - percentWidth - spacing;
|
||||
var fraction = Math.Clamp((float)solver.ProgressValue / solver.ProgressMax, 0, 1);
|
||||
var fraction = (float)solver.ProgressValue / solver.ProgressMax;
|
||||
var progressColors = Colors.GetSolverProgressColors(solver.ProgressStage);
|
||||
|
||||
|
||||
using (ImRaii.PushColor(ImGuiCol.FrameBg, progressColors.Background))
|
||||
using (ImRaii.PushColor(ImGuiCol.PlotHistogram, progressColors.Foreground))
|
||||
ImGui.ProgressBar(fraction, new(progressWidth, ImGui.GetFrameHeight()), string.Empty);
|
||||
ImGui.ProgressBar(Math.Clamp(fraction, 0, 1), new(progressWidth, ImGui.GetFrameHeight()), string.Empty);
|
||||
if (ImGui.IsItemHovered())
|
||||
ImGuiUtils.Tooltip($"Solver Progress: {solver.ProgressValue} / {solver.ProgressMax}");
|
||||
RecipeNote.DrawSolverTooltip(solver);
|
||||
ImGui.SameLine(0, spacing);
|
||||
ImGui.AlignTextToFramePadding();
|
||||
ImGuiUtils.TextRight($"{fraction * 100:0}%", percentWidth);
|
||||
ImGuiUtils.TextRight($"{fraction * 100:N0}%", percentWidth);
|
||||
}
|
||||
|
||||
private void DrawMacroActions()
|
||||
|
||||
Reference in New Issue
Block a user