fBaseXtensions.XML.MoveItemTag.UpdateMovingItemList C# (CSharp) Method

UpdateMovingItemList() private method

private UpdateMovingItemList ( ) : void
return void
        private void UpdateMovingItemList()
        {
            Logger.DBLog.DebugFormat("Updating Moving Items!");

            IEnumerable<ACDItem> ItemEnumerableSource =
                Itemsource == ItemSource.Stash ? ZetaDia.Me.Inventory.StashItems :
                ZetaDia.Me.Inventory.Backpack;

            List<CacheACDItem> Items = new List<CacheACDItem>();
            foreach (var i in ItemEnumerableSource)
            {
                if (i.BaseAddress != IntPtr.Zero)
                {
                    CacheACDItem cacheItem = new CacheACDItem(i);
                    Items.Add(cacheItem);
                }
            }

            if (KeyType != KeystoneType.None)
            {
                if (!_keyStoneHighest)
                    Items = Items.OrderBy(i => i.KeystoneRank).ThenByDescending(i => i.ThisItemStackQuantity).ToList();
                else
                    Items = Items.OrderByDescending(i => i.KeystoneRank).ThenByDescending(i => i.ThisItemStackQuantity).ToList();
            }

            foreach (var tempitem in Items)
            {

                if (KeyType != KeystoneType.None)
                {
                    int tieredLevel = tempitem.KeystoneRank;
                    if (KeyType == KeystoneType.Fragment)
                    {
                        if (tieredLevel == -1)
                        {
                            MovingItemList.Add(tempitem);
                            if (!All) break;
                        }

                        continue;
                    }

                    if (KeyType == KeystoneType.Trial)
                    {
                        if (tieredLevel == 0)
                        {
                            MovingItemList.Add(tempitem);
                            if (!All) break;
                        }
                        continue;
                    }

                    if (KeyType == KeystoneType.Tiered)
                    {
                        if (tieredLevel > 0 && tieredLevel <= FunkyBaseExtension.Settings.AdventureMode.MaximumTieredRiftKeyAllowed)
                        {
                            MovingItemList.Add(tempitem);
                            if (!All) break;
                        }
                    }
                }
                else if (tempitem.SNO == Sno)
                {
                    MovingItemList.Add(tempitem);
                    if (!All) break;
                }

            }

            updatedItemList = true;
            Logger.DBLog.InfoFormat("Found a total of {0} items to be moved!", MovingItemList.Count);
        }