1. for (size_t i = 0; i < s_gridBooks.size(); i++) {
  2. if (i < SPECIAL_INVENTORY_OPEN_PAGE_COUNT) {
  3. s_gridBooks[i] = std::make_unique<CGrid>(SPECIAL_INVENTORY_WIDTH,SPECIAL_INVENTORY_HEIGHT);
  4. continue;
  5. }
  6. if (bookInvPoint > 0 && bookInvPoint <= SPECIAL_INVENTORY_HEIGHT)
  7. nSizeBook = bookInvPoint;
  8. else if (bookInvPoint >= SPECIAL_INVENTORY_HEIGHT)
  9. nSizeBook = SPECIAL_INVENTORY_HEIGHT;
  10. else
  11. nSizeBook = 0;
  12. s_gridBooks[i] = std::make_unique<CGrid>(SPECIAL_INVENTORY_WIDTH,nSizeBook);
  13. bookInvPoint -= SPECIAL_INVENTORY_HEIGHT;
  14. }
  15. for (size_t j = 0; j < s_gridBooks.size(); j++) {
  16. s_gridBooks[j]->Clear();
  17. for (auto i = SPECIAL_INVENTORY_PAGE_SIZE * j; i < SPECIAL_INVENTORY_PAGE_SIZE * (j+1); ++i)
  18. {
  19. if (!(item = GetCompany()->GetOwner()->GetSkillBookInventoryItem(SKILL_BOOK_INVENTORY_SLOT_START + i)))
  20. continue;
  21. s_gridBooks[j]->Put(i - SPECIAL_INVENTORY_PAGE_SIZE * j, 1, item->GetSize());
  22. }
  23. }