mirror of
https://github.com/Ottermandias/Glamourer.git
synced 2026-01-02 05:43:42 +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;
|
||||
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);
|
||||
if (!locked && open)
|
||||
UiHelpers.OpenCombo($"##{combo.Label}");
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ public sealed class WeaponCombo : FilterComboCache<EquipItem>
|
|||
=> obj.Name;
|
||||
|
||||
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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -28,8 +28,10 @@ public sealed class PenumbraChangedItemTooltip : IDisposable
|
|||
=> EquipSlotExtensions.EqdpSlots.Append(EquipSlot.MainHand).Append(EquipSlot.OffHand).Zip(_lastItems)
|
||||
.Select(p => new KeyValuePair<EquipSlot, EquipItem>(p.First, p.Second));
|
||||
|
||||
public DateTime LastTooltip { get; private set; } = DateTime.MinValue;
|
||||
public DateTime LastClick { get; private set; } = DateTime.MinValue;
|
||||
public ChangedItemType LastType { get; private set; } = ChangedItemType.None;
|
||||
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,
|
||||
CustomizeService customize, GPoseService gpose)
|
||||
|
|
@ -160,6 +162,8 @@ public sealed class PenumbraChangedItemTooltip : IDisposable
|
|||
|
||||
private void OnPenumbraTooltip(ChangedItemType type, uint id)
|
||||
{
|
||||
LastType = type;
|
||||
LastId = id;
|
||||
LastTooltip = DateTime.UtcNow;
|
||||
if (!Player())
|
||||
return;
|
||||
|
|
@ -204,7 +208,7 @@ public sealed class PenumbraChangedItemTooltip : IDisposable
|
|||
return true;
|
||||
|
||||
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)
|
||||
return item.Type == mainItem.Type;
|
||||
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ public unsafe class PenumbraPanel(PenumbraService _penumbra, PenumbraChangedItem
|
|||
}
|
||||
|
||||
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();
|
||||
|
||||
ImGuiUtil.DrawTableColumn("Last Click Date");
|
||||
|
|
|
|||
|
|
@ -143,11 +143,11 @@ public class DesignDetailTab
|
|||
_manager.ChangeForcedRedraw(_selector.Selected!, forceRedraw);
|
||||
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");
|
||||
ImGui.TableNextColumn();
|
||||
if (ImGui.Checkbox("##ResetAdvancedDyes", ref resetMaterials))
|
||||
_manager.ChangeResetAdvancedDyes(_selector.Selected!, resetMaterials);
|
||||
if (ImGui.Checkbox("##ResetAdvancedDyes", ref resetAdvancedDyes))
|
||||
_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.DrawFrameColumn("Color");
|
||||
|
|
|
|||
|
|
@ -380,7 +380,7 @@ public class StateEditor(
|
|||
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();
|
||||
|
||||
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