public static void Load() { foreach (Enigma.D3.Assets.Scene Scene in SNO.GetContainer <Enigma.D3.Assets.Scene>(Enigma.D3.Enums.SnoGroupId.Scene)) { SNOScenes.Add(Scene.x000_Header.x00_SnoId, new SceneNavContainer(Scene.x180_NavZoneDefinition.x08_NavCells)); } }
public void GetItems() { if (UIControl == null) { CreateUIControl(); } int Tab = ActiveTab(); if (_ActiveTab != Tab) { UIControl.Wipe(); InventoryActors.Clear(); } _ActiveTab = Tab; foreach (var Item in Controller.GameManagerData.GameManagerAccountHelper.Current.DiabloIII.ObjectManager.Storage.ActorCommonDataManager.Dereference().x00_ActorCommonData) { if (!Item.IsItem()) { continue; } int Seed = Attributes.Seed.GetValue(Item); if (InventoryActors.ContainsKey(Seed)) { if (InventoryActors[Seed].Actor.x114_ItemLocation != Enigma.D3.Enums.ItemLocation.Stash) { InventoryActors.Remove(Seed); continue; } InventoryActors[Seed].ValidatePosition(); continue; } else if (Item.x114_ItemLocation == Enigma.D3.Enums.ItemLocation.Stash) { var Sno = SNO.TryGet(Item); if (!EqualityComparer <SNO.ItemData> .Default.Equals(Sno, default(SNO.ItemData)) && ((LegendaryItemsTypes)Sno.ItemType != LegendaryItemsTypes.LegendaryGem)) { continue; } if (Item.x11C_ItemSlotY >= (TabsY * Tab) && Item.x11C_ItemSlotY < (TabsY * Tab) + TabsY) { InventoryActors.Add(Seed, new InventoryHelper(Item)); } } } }
public static bool TryAdd(int SceneID) { foreach (Enigma.D3.Assets.Scene Scene in SNO.GetContainer <Enigma.D3.Assets.Scene>(Enigma.D3.Enums.SnoGroupId.Scene)) { if (Scene.x000_Header.x00_SnoId == SceneID) { SNOScenes.Add(Scene.x000_Header.x00_SnoId, new SceneNavContainer(Scene.x180_NavZoneDefinition.x08_NavCells)); return(true); } } return(false); }