feat: use main viewport pos and add last time targeted
This commit is contained in:
parent
c938bceaa7
commit
2ee005b638
|
@ -13,7 +13,7 @@
|
|||
<EmbeddedResource Include="Resources\target.wav"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Dalamud, Version=5.2.4.2, Culture=neutral, PublicKeyToken=null">
|
||||
<Reference Include="Dalamud, Version=5.2.4.3, Culture=neutral, PublicKeyToken=null">
|
||||
<HintPath>$(AppData)\XIVLauncher\addon\Hooks\dev\Dalamud.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
|
|
|
@ -9,6 +9,7 @@ using System.Numerics;
|
|||
using Dalamud.Game.Text;
|
||||
using Dalamud.Game.Text.SeStringHandling;
|
||||
using Dalamud.Game.Text.SeStringHandling.Payloads;
|
||||
using Dalamud.Interface;
|
||||
|
||||
namespace PeepingTom {
|
||||
internal class PluginUi : IDisposable {
|
||||
|
@ -498,7 +499,27 @@ namespace PeepingTom {
|
|||
}
|
||||
|
||||
private void AddEntry(Targeter targeter, Actor? actor, ref bool anyHovered, ImGuiSelectableFlags flags = ImGuiSelectableFlags.None) {
|
||||
ImGui.BeginGroup();
|
||||
|
||||
ImGui.Selectable(targeter.Name, false, flags);
|
||||
|
||||
var time = DateTime.UtcNow - targeter.When >= TimeSpan.FromDays(1)
|
||||
? targeter.When.ToLocalTime().ToString("dd/MM")
|
||||
: targeter.When.ToLocalTime().ToString("t");
|
||||
ImGui.SameLine(ImGui.GetWindowSize().X - ImGui.GetStyle().ItemSpacing.X - ImGui.CalcTextSize(time).X);
|
||||
|
||||
if (flags.HasFlag(ImGuiSelectableFlags.Disabled)) {
|
||||
ImGui.PushStyleColor(ImGuiCol.Text, ImGui.GetStyle().Colors[(int) ImGuiCol.TextDisabled]);
|
||||
}
|
||||
|
||||
ImGui.TextUnformatted(time);
|
||||
|
||||
if (flags.HasFlag(ImGuiSelectableFlags.Disabled)) {
|
||||
ImGui.PopStyleColor();
|
||||
}
|
||||
|
||||
ImGui.EndGroup();
|
||||
|
||||
var hover = ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled);
|
||||
var left = hover && ImGui.IsMouseClicked(ImGuiMouseButton.Left);
|
||||
var right = hover && ImGui.IsMouseClicked(ImGuiMouseButton.Right);
|
||||
|
@ -554,10 +575,10 @@ namespace PeepingTom {
|
|||
return;
|
||||
}
|
||||
|
||||
ImGui.PushClipRect(new Vector2(0, 0), ImGui.GetIO().DisplaySize, false);
|
||||
ImGui.PushClipRect(ImGuiHelpers.MainViewport.Pos, ImGuiHelpers.MainViewport.Pos + ImGuiHelpers.MainViewport.Size, false);
|
||||
|
||||
ImGui.GetWindowDrawList().AddCircleFilled(
|
||||
new Vector2(screenPos.X, screenPos.Y),
|
||||
ImGuiHelpers.MainViewport.Pos + new Vector2(screenPos.X, screenPos.Y),
|
||||
size,
|
||||
ImGui.GetColorU32(colour),
|
||||
100
|
||||
|
|
|
@ -9,6 +9,7 @@ namespace PeepingTom {
|
|||
public string Name { get; }
|
||||
public World HomeWorld { get; }
|
||||
public int ActorId { get; }
|
||||
public DateTime When { get; }
|
||||
|
||||
public Targeter(PlayerCharacter character) {
|
||||
if (character == null) {
|
||||
|
@ -17,6 +18,7 @@ namespace PeepingTom {
|
|||
this.Name = character.Name;
|
||||
this.HomeWorld = character.HomeWorld;
|
||||
this.ActorId = character.ActorId;
|
||||
this.When = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
public PlayerCharacter? GetPlayerCharacter(DalamudPluginInterface pi) {
|
||||
|
|
Loading…
Reference in New Issue