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

Commit

Permalink
fix: more options.
Browse files Browse the repository at this point in the history
  • Loading branch information
ArchiDog1998 committed Jun 6, 2023
1 parent a250ac8 commit 8a05b6d
Show file tree
Hide file tree
Showing 6 changed files with 67 additions and 38 deletions.
5 changes: 5 additions & 0 deletions RotationSolver.Basic/Configuration/PluginConfiguration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,11 @@ public class PluginConfiguration : IPluginConfiguration
public Vector3 MovingTargetColor = new(0f, 1f, 0.8f);
public Vector3 TargetColor = new(1f, 0.2f, 0f);
public Vector3 SubTargetColor = new(1f, 0.9f, 0f);

public int CircleSegment = 100;
public float DrawingHeight = 3;
public float SampleLength = 0.2f;

public bool KeyBoardNoise = true;
public int KeyBoardNoiseMin = 2;
public int KeyBoardNoiseMax = 3;
Expand Down
3 changes: 3 additions & 0 deletions RotationSolver/Localization/Strings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,9 @@ internal partial class Strings
public string ConfigWindow_Param_MovingTargetColor { get; set; } = "Prompt box color of moving target";
public string ConfigWindow_Param_TargetColor { get; set; } = "Target color";
public string ConfigWindow_Param_SubTargetColor { get; set; } = "Sub-target color";
public string ConfigWindow_Param_CircleSegment { get; set; } = "The segment count of circle.";
public string ConfigWindow_Param_DrawingHeight { get; set; } = "The height of drawing.";
public string ConfigWindow_Param_SampleLength { get; set; } = "The sample length of the line.";
public string ConfigWindow_Param_KeyBoardNoise { get; set; } = "Simulate the effect of pressing";
public string ConfigWindow_Param_KeyBoardNoiseTimes { get; set; } = "Effect times";
public string ConfigWindow_Param_ToastPositional { get; set; } = "Hint positional anticipation by Toast";
Expand Down
12 changes: 9 additions & 3 deletions RotationSolver/UI/PainterManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -100,14 +100,17 @@ public override void UpdateOnFrame(XIVPainter.XIVPainter painter)
var d = DateTime.Now.Millisecond / 1000f;
var ratio = (float)DrawingHelper.EaseFuncRemap(EaseFuncType.None, EaseFuncType.Cubic)(d);

var c = Service.Config.TargetColor;
var Tcolor = ImGui.GetColorU32(new Vector4(c.X, c.Y, c.Z, 1));
_target.Color = Tcolor;

List<IDrawing3D> subItems = new List<IDrawing3D>() { _target };
_target.Center = act.Target.Position;
_target.Radius = (act.Target.HitboxRadius + act.EffectRange) * ratio;

if (DataCenter.HostileTargets.Contains(act.Target) || act.Target == Player.Object && !act.IsFriendly)
{
var c = Service.Config.SubTargetColor;
c = Service.Config.SubTargetColor;
var Scolor = ImGui.GetColorU32(new Vector4(c.X, c.Y, c.Z, 1));

foreach (var t in DataCenter.HostileTargets)
Expand Down Expand Up @@ -171,13 +174,16 @@ public override void UpdateOnFrame(XIVPainter.XIVPainter painter)
}
}

static XIVPainter.XIVPainter _painter;
internal static XIVPainter.XIVPainter _painter;
static PositionalDrawing _positional;

public static void Init()
{
_painter = Svc.PluginInterface.Create<XIVPainter.XIVPainter>("RotationSolverOverlay");
_painter.UseTaskForAccelerate = false;

_painter.CircleSegment = (ushort)Service.Config.CircleSegment;
_painter.DrawingHeight = Service.Config.DrawingHeight;
_painter.SampleLength = Service.Config.SampleLength;

var annulus = new Drawing3DAnnulusO(Player.Object, 3, 3 + Service.Config.MeleeRangeOffset,
ImGui.ColorConvertFloat4ToU32(new Vector4(1f, 0.8f, 0.75f, 0)), 2);
Expand Down
69 changes: 44 additions & 25 deletions RotationSolver/UI/RotationConfigWindow_Param.cs
Original file line number Diff line number Diff line change
Expand Up @@ -175,32 +175,51 @@ private void DrawParamDisplay()
ref Service.Config.TeachingModeColor, Service.Default.TeachingModeColor);
}

DrawCheckBox(LocalizationManager.RightLang.ConfigWindow_Param_ShowMoveTarget,
ref Service.Config.ShowMoveTarget, Service.Default.ShowMoveTarget);
ImGui.Separator();

if (Service.Config.ShowMoveTarget)
{
ImGuiHelper.Spacing();
DrawCheckBox(LocalizationManager.RightLang.ConfigWindow_Param_ShowMoveTarget,
ref Service.Config.ShowMoveTarget, Service.Default.ShowMoveTarget);

DrawColor3(LocalizationManager.RightLang.ConfigWindow_Param_MovingTargetColor,
ref Service.Config.MovingTargetColor, Service.Default.MovingTargetColor);
}
if (Service.Config.ShowMoveTarget)
{
ImGuiHelper.Spacing();

DrawCheckBox(LocalizationManager.RightLang.ConfigWindow_Param_ShowTarget,
ref Service.Config.ShowTarget, Service.Default.ShowTarget);
DrawColor3(LocalizationManager.RightLang.ConfigWindow_Param_MovingTargetColor,
ref Service.Config.MovingTargetColor, Service.Default.MovingTargetColor);
}

if (Service.Config.ShowTarget)
{
ImGuiHelper.Spacing();
DrawCheckBox(LocalizationManager.RightLang.ConfigWindow_Param_ShowTarget,
ref Service.Config.ShowTarget, Service.Default.ShowTarget);

DrawColor3(LocalizationManager.RightLang.ConfigWindow_Param_TargetColor,
ref Service.Config.TargetColor, Service.Default.TargetColor);
if (Service.Config.ShowTarget)
{
ImGuiHelper.Spacing();

DrawColor3(LocalizationManager.RightLang.ConfigWindow_Param_TargetColor,
ref Service.Config.TargetColor, Service.Default.TargetColor);

ImGuiHelper.Spacing();
ImGuiHelper.Spacing();

DrawColor3(LocalizationManager.RightLang.ConfigWindow_Param_SubTargetColor,
ref Service.Config.SubTargetColor, Service.Default.SubTargetColor);
}
DrawColor3(LocalizationManager.RightLang.ConfigWindow_Param_SubTargetColor,
ref Service.Config.SubTargetColor, Service.Default.SubTargetColor);
}

DrawIntNumber(LocalizationManager.RightLang.ConfigWindow_Param_CircleSegment, ref Service.Config.CircleSegment, Service.Default.CircleSegment, otherThing: () =>
{
PainterManager._painter.CircleSegment = (ushort)Service.Config.CircleSegment;
});

DrawFloatNumber(LocalizationManager.RightLang.ConfigWindow_Param_DrawingHeight, ref Service.Config.DrawingHeight, Service.Default.DrawingHeight, otherThing: () =>
{
PainterManager._painter.DrawingHeight = Service.Config.DrawingHeight;
});

DrawFloatNumber(LocalizationManager.RightLang.ConfigWindow_Param_SampleLength, ref Service.Config.SampleLength, Service.Default.SampleLength, otherThing: () =>
{
PainterManager._painter.SampleLength = Service.Config.SampleLength;
});

ImGui.Separator();

DrawCheckBox(LocalizationManager.RightLang.ConfigWindow_Param_KeyBoardNoise,
ref Service.Config.KeyBoardNoise, Service.Default.KeyBoardNoise);
Expand Down Expand Up @@ -233,14 +252,14 @@ private void DrawParamDisplay()
DrawCheckBox(LocalizationManager.RightLang.ConfigWindow_Param_ToastPositional,
ref Service.Config.ToastPositional, Service.Default.ToastPositional);

DrawCheckBox(LocalizationManager.RightLang.ConfigWindow_Param_DrawPositional,
ref Service.Config.DrawPositional, Service.Default.DrawPositional);
DrawCheckBox(LocalizationManager.RightLang.ConfigWindow_Param_DrawPositional,
ref Service.Config.DrawPositional, Service.Default.DrawPositional);

DrawCheckBox(LocalizationManager.RightLang.ConfigWindow_Param_DrawMeleeOffset,
ref Service.Config.DrawMeleeOffset, Service.Default.DrawMeleeOffset);
DrawCheckBox(LocalizationManager.RightLang.ConfigWindow_Param_DrawMeleeOffset,
ref Service.Config.DrawMeleeOffset, Service.Default.DrawMeleeOffset);

DrawFloatNumber(LocalizationManager.RightLang.ConfigWindow_Param_AlphaInFill,
ref Service.Config.AlphaInFill, Service.Default.AlphaInFill);
DrawFloatNumber(LocalizationManager.RightLang.ConfigWindow_Param_AlphaInFill,
ref Service.Config.AlphaInFill, Service.Default.AlphaInFill);
}

private void DrawParamAction()
Expand Down
14 changes: 5 additions & 9 deletions RotationSolver/Updaters/PreviewUpdater.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ internal static void UpdatePreview()
}

static DtrBarEntry _dtrEntry;
static string _showValue;
private static void UpdateEntry()
{
var showStr = RSCommands.EntryString;
Expand All @@ -42,14 +41,11 @@ private static void UpdateEntry()
}

if (!_dtrEntry.Shown) _dtrEntry.Shown = true;
if (_showValue != showStr)
{
_showValue = showStr;
_dtrEntry.Text = new SeString(
new IconPayload(BitmapFontIcon.DPS),
new TextPayload(_showValue)
);
}

_dtrEntry.Text = new SeString(
new IconPayload(BitmapFontIcon.DPS),
new TextPayload(showStr)
);
}
else if (_dtrEntry != null && _dtrEntry.Shown)
{
Expand Down
2 changes: 1 addition & 1 deletion XIVPainter

0 comments on commit 8a05b6d

Please sign in to comment.