public bool Equals(DestinyItemSocketCategoryDefinition input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     SocketCategoryHash == input.SocketCategoryHash ||
                     (SocketCategoryHash.Equals(input.SocketCategoryHash))
                     ) &&
                 (
                     SocketIndexes == input.SocketIndexes ||
                     (SocketIndexes != null && SocketIndexes.SequenceEqual(input.SocketIndexes))
                 ));
        }
        // Returns a list of indexes for the provided SocketCategory. These indexes should then be used in the
        // InventoryItem.Sockets.SocketEntries list to get the sockets that match the provided category.
        public static List <int> GetSocketCategoryIndexes(this InventoryItem Item, SocketCategoryHash category)
        {
            var socketCategory = Item.Sockets.SocketCategories.FirstOrDefault(s => s.SocketCategoryHash == (long)category);

            return(socketCategory?.SocketIndexes?.Select(i => (int)i)?.ToList() ?? new List <int>());
        }
Exemple #3
0
        public bool Equals(DestinySocketTypeDefinition input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     DisplayProperties == input.DisplayProperties ||
                     (DisplayProperties != null && DisplayProperties.Equals(input.DisplayProperties))
                     ) &&
                 (
                     InsertAction == input.InsertAction ||
                     (InsertAction != null && InsertAction.Equals(input.InsertAction))
                 ) &&
                 (
                     PlugWhitelist == input.PlugWhitelist ||
                     (PlugWhitelist != null && PlugWhitelist.SequenceEqual(input.PlugWhitelist))
                 ) &&
                 (
                     SocketCategoryHash == input.SocketCategoryHash ||
                     (SocketCategoryHash.Equals(input.SocketCategoryHash))
                 ) &&
                 (
                     Visibility == input.Visibility ||
                     (Visibility != null && Visibility.Equals(input.Visibility))
                 ) &&
                 (
                     AlwaysRandomizeSockets == input.AlwaysRandomizeSockets ||
                     (AlwaysRandomizeSockets != null && AlwaysRandomizeSockets.Equals(input.AlwaysRandomizeSockets))
                 ) &&
                 (
                     IsPreviewEnabled == input.IsPreviewEnabled ||
                     (IsPreviewEnabled != null && IsPreviewEnabled.Equals(input.IsPreviewEnabled))
                 ) &&
                 (
                     HideDuplicateReusablePlugs == input.HideDuplicateReusablePlugs ||
                     (HideDuplicateReusablePlugs != null && HideDuplicateReusablePlugs.Equals(input.HideDuplicateReusablePlugs))
                 ) &&
                 (
                     OverridesUiAppearance == input.OverridesUiAppearance ||
                     (OverridesUiAppearance != null && OverridesUiAppearance.Equals(input.OverridesUiAppearance))
                 ) &&
                 (
                     AvoidDuplicatesOnInitialization == input.AvoidDuplicatesOnInitialization ||
                     (AvoidDuplicatesOnInitialization != null && AvoidDuplicatesOnInitialization.Equals(input.AvoidDuplicatesOnInitialization))
                 ) &&
                 (
                     CurrencyScalars == input.CurrencyScalars ||
                     (CurrencyScalars != null && CurrencyScalars.SequenceEqual(input.CurrencyScalars))
                 ) &&
                 (
                     Hash == input.Hash ||
                     (Hash.Equals(input.Hash))
                 ) &&
                 (
                     Index == input.Index ||
                     (Index.Equals(input.Index))
                 ) &&
                 (
                     Redacted == input.Redacted ||
                     (Redacted != null && Redacted.Equals(input.Redacted))
                 ));
        }