コード例 #1
0
ファイル: Actors.cs プロジェクト: tmasiff/FindersKeepersD3
        public void EnumerateMultibox()
        {
            try
            {
                if (!GameManagerAccountHelper.Current.LevelAreaHelper.State())
                {
                    return;
                }

                var ACDContainer = ActorCommonData.Container;
                ACDContainer.TakeSnapshot();

                foreach (var item in ACDContainer.GetBufferDump(ref GameManagerAccountHelper.Current.Gamestate.ACDBuffer))
                {
                    var Actor = item.Create();

                    if (Actor.x000_Id == -1)
                    {
                        continue;
                    }

                    if ((Actor.x184_ActorType == ActorType.Item) && (int)Actor.x114_ItemLocation == -1)     // -1 == Ground items //  && Actor.x090_ActorSnoId != -1 && Actor.x27C_WorldId != 0 && Actor.x0D0_WorldPosX != 0 && (Actor.x0B0_GameBalanceType == GameBalanceType.Items &&
                    {
                        ItemFilter.Enumerate(Actor);
                    }
                }

                ACDContainer.FreeSnapshot();
            }

            catch (Exception e)
            {
                DebugWriter.Write(e);
            }
        }
コード例 #2
0
        public static void KadalaGambling(int Collection, bool FirstRun = false)
        {
            foreach (ActorCommonData ACD in GameManager.Instance.GManager.GList.MainAccount.DiabloIII.GetContainer().Where(x => x.x114_ItemLocation == ItemLocation.PlayerBackpack))
            {
                if (Inventory[Collection].Exists(x => x.ID == ACD.x000_Id))
                {
                    continue;
                }

                if (!FirstRun)
                {
                    ItemFilter.Enumerate(ACD, true);
                }

                Inventory[Collection].Add(new InventoryHelper {
                    ID = ACD.x000_Id, Name = ACD.x004_Name
                });
            }
        }