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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
 private Element GetInventoryZone()
 {
     return(ingameUiElements.ReadObject <Element>(ingameUiElements.InventoryPanel.Address + 0x778 + 0x26C));
 }
Ejemplo n.º 4
0
 private Element GetInventoryZone()
 {
     return(ingameUiElements.ReadObject <Element>(ingameUiElements.InventoryPanel.Address + Poe.Element.OffsetBuffers + 0x264));
 }