public bool IsContainerPreferred(ItemContainer itemContainer, out bool isPreferencesDefined, out bool isSecondary) { isPreferencesDefined = PreferredContainers.Any(); isSecondary = false; if (!isPreferencesDefined) { return(true); } if (PreferredContainers.Any(pc => IsContainerPreferred(pc.Primary, itemContainer))) { return(true); } isSecondary = true; return(PreferredContainers.Any(pc => IsContainerPreferred(pc.Secondary, itemContainer))); }
public bool IsContainerPreferred(string[] identifiersOrTags, out bool isPreferencesDefined, out bool isSecondary) { isPreferencesDefined = PreferredContainers.Any(); isSecondary = false; if (!isPreferencesDefined) { return(true); } if (PreferredContainers.Any(pc => IsContainerPreferred(pc.Primary, identifiersOrTags))) { return(true); } isSecondary = true; return(PreferredContainers.Any(pc => IsContainerPreferred(pc.Secondary, identifiersOrTags))); }
public bool IsContainerPreferred(Item item, ItemContainer targetContainer, out bool isPreferencesDefined, out bool isSecondary) { isPreferencesDefined = PreferredContainers.Any(); isSecondary = false; if (!isPreferencesDefined) { return(true); } if (PreferredContainers.Any(pc => IsItemConditionAcceptable(item, pc) && IsContainerPreferred(pc.Primary, targetContainer))) { return(true); } isSecondary = true; return(PreferredContainers.Any(pc => IsItemConditionAcceptable(item, pc) && IsContainerPreferred(pc.Secondary, targetContainer))); }