public IEnumerable <Item> GetItems() { uint Adr = Adreess + client.Addresses.Container.DistanceItemStart; Adr = client.Memory.ReadUInt32(Adr); for (uint i = 0; i < Ammount; i++) { uint iAdr = Adr + i * client.Addresses.Container.StepContainerSlot; int Count = client.Memory.ReadInt32(iAdr + client.Addresses.Container.DistanceItemCount); int ItemId = client.Memory.ReadInt32(iAdr + client.Addresses.Container.DistanceItemId); yield return(new Item(client, ItemId, Count, ItemLocation.FromContainer((byte)Number, (byte)i))); } }
public static ItemLocation FromItemLocation(ItemLocation location) { switch (location.Type) { case Constants.ItemLocationType.Container: return(ItemLocation.FromContainer(location.ContainerId, location.ContainerSlot)); case Constants.ItemLocationType.Ground: return(ItemLocation.FromLocation(location.GroundLocation, location.StackOrder)); case Constants.ItemLocationType.Slot: return(ItemLocation.FromSlot(location.Slot)); default: return(null); } }