Improve some conditions
This commit is contained in:
parent
6590db2a03
commit
9a23663c67
@ -23,6 +23,7 @@ public sealed class ItemCache
|
||||
Rarity = item.Rarity,
|
||||
IsUnique = item.IsUnique,
|
||||
IsUntradable = item.IsUntradable,
|
||||
IsIndisposable = item.IsIndisposable,
|
||||
Level = item.LevelEquip,
|
||||
UiCategory = item.ItemUICategory.Row,
|
||||
};
|
||||
@ -31,7 +32,12 @@ public sealed class ItemCache
|
||||
|
||||
public IEnumerable<CachedItemInfo> AllItems => _items.Values;
|
||||
|
||||
public CachedItemInfo? GetItem(uint itemId) => _items[itemId];
|
||||
public CachedItemInfo? GetItem(uint itemId)
|
||||
{
|
||||
if (_items.TryGetValue(itemId, out var item))
|
||||
return item;
|
||||
return null;
|
||||
}
|
||||
|
||||
public string GetItemName(uint itemId)
|
||||
{
|
||||
@ -49,6 +55,12 @@ public sealed class ItemCache
|
||||
public required byte Rarity { get; init; }
|
||||
public required bool IsUnique { get; init; }
|
||||
public required bool IsUntradable { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Whether this item can be discarded at all. "Discard" is greyed out e.g. for the preorder EXP earrings.
|
||||
/// </summary>
|
||||
public required bool IsIndisposable { get; init; }
|
||||
|
||||
public required uint UiCategory { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -65,7 +65,8 @@ public sealed class ConfigWindow : Window
|
||||
}
|
||||
|
||||
ImGui.SameLine(ImGui.GetWindowWidth() - 115 * ImGuiHelpers.GlobalScale);
|
||||
ImGui.BeginDisabled(!_clientState.IsLoggedIn || !_condition[ConditionFlag.NormalConditions] ||
|
||||
ImGui.BeginDisabled(!_clientState.IsLoggedIn ||
|
||||
!(_condition[ConditionFlag.NormalConditions] || _condition[ConditionFlag.Mounted]) ||
|
||||
DiscardNowClicked == null);
|
||||
if (ImGui.Button("Preview Discards"))
|
||||
DiscardNowClicked!.Invoke(this, EventArgs.Empty);
|
||||
@ -343,7 +344,7 @@ public sealed class ConfigWindow : Window
|
||||
if (_allItems == null)
|
||||
{
|
||||
_allItems = _itemCache.AllItems
|
||||
.Where(x => !x.IsUnique && !x.IsUntradable)
|
||||
.Where(x => x is { IsUnique: false, IsUntradable: false, IsIndisposable: false })
|
||||
.Where(x => x.UiCategory != UiCategories.Currency && x.UiCategory != UiCategories.Crystals &&
|
||||
x.UiCategory != UiCategories.Unobtainable)
|
||||
.Select(x => (x.ItemId, x.Name.ToString()))
|
||||
|
@ -80,7 +80,7 @@ public sealed class DiscardWindow : Window
|
||||
ImGui.SameLine(ImGui.GetWindowWidth() - 160 * ImGuiHelpers.GlobalScale);
|
||||
ImGui.BeginDisabled(Locked ||
|
||||
!_clientState.IsLoggedIn ||
|
||||
!_condition[ConditionFlag.NormalConditions] ||
|
||||
!(_condition[ConditionFlag.NormalConditions] || _condition[ConditionFlag.Mounted]) ||
|
||||
_displayedItems.Count(x => x.Selected) == 0 ||
|
||||
DiscardAllClicked == null);
|
||||
if (ImGui.Button("Discard all selected items"))
|
||||
|
Loading…
Reference in New Issue
Block a user