mirror of
https://github.com/Ottermandias/Glamourer.git
synced 2026-02-21 15:07:43 +01:00
Fix issues with ResetAdvancedDyes and weapon types.
This commit is contained in:
parent
dd217a2475
commit
a5998b84ba
7 changed files with 15 additions and 11 deletions
|
|
@ -558,7 +558,7 @@ public class EquipmentDrawer
|
||||||
|
|
||||||
label = combo.Label;
|
label = combo.Label;
|
||||||
var locked = offhand.Locked
|
var locked = offhand.Locked
|
||||||
|| !_gPose.InGPose && (offhand.CurrentItem.Type is FullEquipType.Unknown || mainhand.CurrentItem.Type is FullEquipType.Unknown);
|
|| !_gPose.InGPose && (offhand.CurrentItem.Type.IsUnknown() || mainhand.CurrentItem.Type.IsUnknown());
|
||||||
using var disabled = ImRaii.Disabled(locked);
|
using var disabled = ImRaii.Disabled(locked);
|
||||||
if (!locked && open)
|
if (!locked && open)
|
||||||
UiHelpers.OpenCombo($"##{combo.Label}");
|
UiHelpers.OpenCombo($"##{combo.Label}");
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ public sealed class WeaponCombo : FilterComboCache<EquipItem>
|
||||||
=> obj.Name;
|
=> obj.Name;
|
||||||
|
|
||||||
private static string GetLabel(FullEquipType type)
|
private static string GetLabel(FullEquipType type)
|
||||||
=> type is FullEquipType.Unknown ? "Mainhand" : type.ToName();
|
=> type.IsUnknown() ? "Mainhand" : type.ToName();
|
||||||
|
|
||||||
private static IReadOnlyList<EquipItem> GetWeapons(FavoriteManager favorites, ItemManager items, FullEquipType type)
|
private static IReadOnlyList<EquipItem> GetWeapons(FavoriteManager favorites, ItemManager items, FullEquipType type)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,10 @@ public sealed class PenumbraChangedItemTooltip : IDisposable
|
||||||
=> EquipSlotExtensions.EqdpSlots.Append(EquipSlot.MainHand).Append(EquipSlot.OffHand).Zip(_lastItems)
|
=> EquipSlotExtensions.EqdpSlots.Append(EquipSlot.MainHand).Append(EquipSlot.OffHand).Zip(_lastItems)
|
||||||
.Select(p => new KeyValuePair<EquipSlot, EquipItem>(p.First, p.Second));
|
.Select(p => new KeyValuePair<EquipSlot, EquipItem>(p.First, p.Second));
|
||||||
|
|
||||||
public DateTime LastTooltip { get; private set; } = DateTime.MinValue;
|
public ChangedItemType LastType { get; private set; } = ChangedItemType.None;
|
||||||
public DateTime LastClick { get; private set; } = DateTime.MinValue;
|
public uint LastId { get; private set; } = 0;
|
||||||
|
public DateTime LastTooltip { get; private set; } = DateTime.MinValue;
|
||||||
|
public DateTime LastClick { get; private set; } = DateTime.MinValue;
|
||||||
|
|
||||||
public PenumbraChangedItemTooltip(PenumbraService penumbra, StateManager stateManager, ItemManager items, ObjectManager objects,
|
public PenumbraChangedItemTooltip(PenumbraService penumbra, StateManager stateManager, ItemManager items, ObjectManager objects,
|
||||||
CustomizeService customize, GPoseService gpose)
|
CustomizeService customize, GPoseService gpose)
|
||||||
|
|
@ -160,6 +162,8 @@ public sealed class PenumbraChangedItemTooltip : IDisposable
|
||||||
|
|
||||||
private void OnPenumbraTooltip(ChangedItemType type, uint id)
|
private void OnPenumbraTooltip(ChangedItemType type, uint id)
|
||||||
{
|
{
|
||||||
|
LastType = type;
|
||||||
|
LastId = id;
|
||||||
LastTooltip = DateTime.UtcNow;
|
LastTooltip = DateTime.UtcNow;
|
||||||
if (!Player())
|
if (!Player())
|
||||||
return;
|
return;
|
||||||
|
|
@ -204,7 +208,7 @@ public sealed class PenumbraChangedItemTooltip : IDisposable
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
var main = _objects.Player.GetMainhand();
|
var main = _objects.Player.GetMainhand();
|
||||||
var mainItem = _items.Identify(slot, main.Skeleton, main.Weapon, main.Variant);
|
var mainItem = _items.Identify(EquipSlot.MainHand, main.Skeleton, main.Weapon, main.Variant);
|
||||||
if (slot == EquipSlot.MainHand)
|
if (slot == EquipSlot.MainHand)
|
||||||
return item.Type == mainItem.Type;
|
return item.Type == mainItem.Type;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ public unsafe class PenumbraPanel(PenumbraService _penumbra, PenumbraChangedItem
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGuiUtil.DrawTableColumn("Last Tooltip Date");
|
ImGuiUtil.DrawTableColumn("Last Tooltip Date");
|
||||||
ImGuiUtil.DrawTableColumn(_penumbraTooltip.LastTooltip > DateTime.MinValue ? _penumbraTooltip.LastTooltip.ToLongTimeString() : "Never");
|
ImGuiUtil.DrawTableColumn(_penumbraTooltip.LastTooltip > DateTime.MinValue ? $"{_penumbraTooltip.LastTooltip.ToLongTimeString()} ({_penumbraTooltip.LastType} {_penumbraTooltip.LastId})" : "Never");
|
||||||
ImGui.TableNextColumn();
|
ImGui.TableNextColumn();
|
||||||
|
|
||||||
ImGuiUtil.DrawTableColumn("Last Click Date");
|
ImGuiUtil.DrawTableColumn("Last Click Date");
|
||||||
|
|
|
||||||
|
|
@ -143,11 +143,11 @@ public class DesignDetailTab
|
||||||
_manager.ChangeForcedRedraw(_selector.Selected!, forceRedraw);
|
_manager.ChangeForcedRedraw(_selector.Selected!, forceRedraw);
|
||||||
ImGuiUtil.HoverTooltip("Set this design to always force a redraw when it is applied through any means.");
|
ImGuiUtil.HoverTooltip("Set this design to always force a redraw when it is applied through any means.");
|
||||||
|
|
||||||
var resetMaterials = _selector.Selected!.ResetAdvancedDyes;
|
var resetAdvancedDyes = _selector.Selected!.ResetAdvancedDyes;
|
||||||
ImGuiUtil.DrawFrameColumn("Reset Advanced Dyes");
|
ImGuiUtil.DrawFrameColumn("Reset Advanced Dyes");
|
||||||
ImGui.TableNextColumn();
|
ImGui.TableNextColumn();
|
||||||
if (ImGui.Checkbox("##ResetAdvancedDyes", ref resetMaterials))
|
if (ImGui.Checkbox("##ResetAdvancedDyes", ref resetAdvancedDyes))
|
||||||
_manager.ChangeResetAdvancedDyes(_selector.Selected!, resetMaterials);
|
_manager.ChangeResetAdvancedDyes(_selector.Selected!, resetAdvancedDyes);
|
||||||
ImGuiUtil.HoverTooltip("Set this design to reset any previously applied advanced dyes when it is applied through any means.");
|
ImGuiUtil.HoverTooltip("Set this design to reset any previously applied advanced dyes when it is applied through any means.");
|
||||||
|
|
||||||
ImGuiUtil.DrawFrameColumn("Color");
|
ImGuiUtil.DrawFrameColumn("Color");
|
||||||
|
|
|
||||||
|
|
@ -380,7 +380,7 @@ public class StateEditor(
|
||||||
Editor.ChangeMetaState(state, meta, mergedDesign.Design.DesignData.GetMeta(meta), Source(meta), out _, settings.Key);
|
Editor.ChangeMetaState(state, meta, mergedDesign.Design.DesignData.GetMeta(meta), Source(meta), out _, settings.Key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings.ResetMaterials || mergedDesign.ResetAdvancedDyes)
|
if (settings.ResetMaterials || (!settings.RespectManual && mergedDesign.ResetAdvancedDyes))
|
||||||
state.Materials.Clear();
|
state.Materials.Clear();
|
||||||
|
|
||||||
foreach (var (key, value) in mergedDesign.Design.Materials)
|
foreach (var (key, value) in mergedDesign.Design.Materials)
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit 554e28a3d1fca9394a20fd9856f6387e2a5e4a57
|
Subproject commit 77d52b02d21e770b30c08f89bdf06e0cb75562f7
|
||||||
Loading…
Add table
Add a link
Reference in a new issue