private void AddItems() { IngameUIElements ui = GameController.Game.IngameState.IngameUi; var inventoryZone = ui.ReadObject <Element>(ui.InventoryPanel.Address + 0x808 + 0x248); RectangleF inventoryZoneRectangle = inventoryZone.GetClientRect(); var oneCellSize = new Size2F(inventoryZoneRectangle.Width / CELLS_X_COUNT, inventoryZoneRectangle.Height / CELLS_Y_COUNT); foreach (Element itemElement in inventoryZone.Children) { RectangleF itemElementRectangle = itemElement.GetClientRect(); var x = (int)((itemElementRectangle.X - inventoryZoneRectangle.X) / oneCellSize.Width + 0.5); var y = (int)((itemElementRectangle.Y - inventoryZoneRectangle.Y) / oneCellSize.Height + 0.5); var itemSize = new Size2((int)(itemElementRectangle.Width / oneCellSize.Width + 0.5), (int)(itemElementRectangle.Height / oneCellSize.Height + 0.5)); AddItem(x, y, itemSize); } }
private void AddItems() { var inventoryZone = ingameUiElements.ReadObject <Element>(ingameUiElements.InventoryPanel.Address + 0x808 + 0x24C); RectangleF inventoryZoneRectangle = inventoryZone.GetClientRect(); var oneCellSize = new Size2F(inventoryZoneRectangle.Width / CELLS_X_COUNT, inventoryZoneRectangle.Height / CELLS_Y_COUNT); foreach (Element itemElement in inventoryZone.Children) { RectangleF itemElementRectangle = itemElement.GetClientRect(); var x = (int)((itemElementRectangle.X - inventoryZoneRectangle.X) / oneCellSize.Width + 0.5); var y = (int)((itemElementRectangle.Y - inventoryZoneRectangle.Y) / oneCellSize.Height + 0.5); int maxX = (int)(itemElementRectangle.Width / oneCellSize.Width + 0.5) + x; int maxY = (int)(itemElementRectangle.Height / oneCellSize.Height + 0.5) + y; // BUG Old inventoryZoneRectangle when the window is moved/resized if (x < 0 || maxX > CELLS_X_COUNT || y < 0 || maxY > CELLS_Y_COUNT) { break; } AddItem(x, y, maxX, maxY); } }
private Element GetInventoryZone() { return(ingameUiElements.ReadObject <Element>(ingameUiElements.InventoryPanel.Address + 0x778 + 0x26C)); }
private Element GetInventoryZone() { return(ingameUiElements.ReadObject <Element>(ingameUiElements.InventoryPanel.Address + Poe.Element.OffsetBuffers + 0x264)); }