From 8f60688e44a04c518b1205aa2bf47ce26adfb4db Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Sun, 12 Nov 2023 13:46:15 +0100 Subject: [PATCH] Fix design color display on customizations. --- Glamourer/Designs/DesignData.cs | 2 +- .../DesignTab/DesignFileSystemSelector.cs | 30 +++++++++++-------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/Glamourer/Designs/DesignData.cs b/Glamourer/Designs/DesignData.cs index 0bf66ee..0fd96b2 100644 --- a/Glamourer/Designs/DesignData.cs +++ b/Glamourer/Designs/DesignData.cs @@ -40,7 +40,7 @@ public unsafe struct DesignData public DesignData() { } - public bool ContainsName(LowerString name) + public readonly bool ContainsName(LowerString name) => name.IsContained(_nameHead) || name.IsContained(_nameBody) || name.IsContained(_nameHands) diff --git a/Glamourer/Gui/Tabs/DesignTab/DesignFileSystemSelector.cs b/Glamourer/Gui/Tabs/DesignTab/DesignFileSystemSelector.cs index 71a74a5..05e7bf3 100644 --- a/Glamourer/Gui/Tabs/DesignTab/DesignFileSystemSelector.cs +++ b/Glamourer/Gui/Tabs/DesignTab/DesignFileSystemSelector.cs @@ -7,6 +7,7 @@ using Dalamud.Plugin.Services; using Glamourer.Customization; using Glamourer.Designs; using Glamourer.Events; +using Glamourer.Services; using ImGuiNET; using OtterGui; using OtterGui.Classes; @@ -19,11 +20,12 @@ namespace Glamourer.Gui.Tabs.DesignTab; public sealed class DesignFileSystemSelector : FileSystemSelector { - private readonly DesignManager _designManager; - private readonly DesignChanged _event; - private readonly Configuration _config; - private readonly DesignConverter _converter; - private readonly TabSelected _selectionEvent; + private readonly DesignManager _designManager; + private readonly DesignChanged _event; + private readonly Configuration _config; + private readonly DesignConverter _converter; + private readonly TabSelected _selectionEvent; + private readonly CustomizationService _customizationService; private string? _clipboardText; private Design? _cloneDesign; @@ -48,14 +50,15 @@ public sealed class DesignFileSystemSelector : FileSystemSelector Combined wrapper for handling all filters and setting state. private bool ApplyFiltersAndState(DesignFileSystem.Leaf leaf, out DesignState state) { - var applyEquip = leaf.Value.ApplyEquip != 0; - var applyCustomize = (leaf.Value.ApplyCustomize & ~(CustomizeFlag.BodyType | CustomizeFlag.Race)) != 0; + var applyEquip = leaf.Value.ApplyEquip != 0; + var list = _customizationService.AwaitedService.GetList(leaf.Value.DesignData.Customize.Clan, leaf.Value.DesignData.Customize.Gender); + var applyCustomize = leaf.Value.ApplyCustomize.FixApplication(list) != 0; state.Color = (applyEquip, applyCustomize) switch {