Add ability to filter on retrieval in IDDB

This commit is contained in:
Matt Nadareski
2024-03-13 20:51:14 -04:00
parent 2f8b3e6582
commit ecafe7268c

View File

@@ -180,7 +180,7 @@ namespace SabreTools.DatFiles
/// <summary> /// <summary>
/// Get the items associated with a bucket name /// Get the items associated with a bucket name
/// </summary> /// </summary>
public DatItem[]? GetDatItemsForBucket(string bucketName) public DatItem[]? GetDatItemsForBucket(string bucketName, bool filter = false)
{ {
if (!_buckets.ContainsKey(bucketName)) if (!_buckets.ContainsKey(bucketName))
return null; return null;
@@ -190,7 +190,7 @@ namespace SabreTools.DatFiles
var datItems = new List<DatItem>(); var datItems = new List<DatItem>();
foreach (long itemId in itemIds) foreach (long itemId in itemIds)
{ {
if (_items.ContainsKey(itemId)) if (_items.ContainsKey(itemId) && (!filter || _items[itemId].GetBoolFieldValue(DatItem.RemoveKey) != true))
datItems.Add(_items[itemId]); datItems.Add(_items[itemId]);
} }
@@ -200,7 +200,7 @@ namespace SabreTools.DatFiles
/// <summary> /// <summary>
/// Get the items associated with a machine index /// Get the items associated with a machine index
/// </summary> /// </summary>
public DatItem[]? GetDatItemsForMachine(long machineIndex) public DatItem[]? GetDatItemsForMachine(long machineIndex, bool filter = false)
{ {
var itemIds = _itemToMachineMapping var itemIds = _itemToMachineMapping
.Where(mapping => mapping.Value == machineIndex) .Where(mapping => mapping.Value == machineIndex)
@@ -209,7 +209,7 @@ namespace SabreTools.DatFiles
var datItems = new List<DatItem>(); var datItems = new List<DatItem>();
foreach (long itemId in itemIds) foreach (long itemId in itemIds)
{ {
if (_items.ContainsKey(itemId)) if (_items.ContainsKey(itemId) && (!filter || _items[itemId].GetBoolFieldValue(DatItem.RemoveKey) != true))
datItems.Add(_items[itemId]); datItems.Add(_items[itemId]);
} }