Example #1
0
        public Dictionary <string, int> GetSlotTotals(bool refresh = false)
        {
            if (_SlotTotals == null || refresh)
            {
                var totals = new Dictionary <string, int>();

                var headSlots  = Head?.GetSlots(refresh) ?? new HashSet <Slots.Slot>();
                var torsoSlots = Torso?.GetSlots(refresh) ?? new HashSet <Slots.Slot>();
                var armSlots   = Arm?.GetSlots(refresh) ?? new HashSet <Slots.Slot>();
                var waistSlots = Waist?.GetSlots(refresh) ?? new HashSet <Slots.Slot>();
                var legSlots   = Leg?.GetSlots(refresh) ?? new HashSet <Slots.Slot>();

                var weaponSlots = _WeaponSlots.ToHashSet();
                var charmSlots  = Charm?.GetSlots(refresh) ?? new HashSet <Slot>();

                TryAddRange(totals, headSlots);
                TryAddRange(totals, torsoSlots);
                TryAddRange(totals, armSlots);
                TryAddRange(totals, waistSlots);
                TryAddRange(totals, legSlots);
                TryAddRange(totals, weaponSlots);
                TryAddRange(totals, charmSlots);

                _SlotTotals = totals;
            }

            return(_SlotTotals);
        }