#pragma once #include "Crawler.h" #include "DEFINES.h" #include "olcPixelGameEngine.h" #include "safemap.h" #include "Item.h" #include "MenuItemButton.h" #include "MenuLabel.h" INCLUDE_GFX typedef Attribute A; Menu*Menu::InitializeInventoryWindow(){ constexpr int invWidth=5; constexpr int invHeight=3; constexpr int totalItemSlots=invWidth*invHeight; constexpr int itemSpacing=8; constexpr int buttonSize=24; constexpr int totalSpacing=buttonSize+itemSpacing; vf2d windowSize={totalSpacing*invWidth-itemSpacing+1,totalSpacing*(invHeight+1)-itemSpacing+24}; Menu*inventoryWindow=new Menu(CENTERED,windowSize); MenuFunc useItemFunc=[](MenuFuncData data){ MenuItemButton*button=(MenuItemButton*)data.component; button->UseItem(); }; for(int y=0;yAddComponent("item"+std::to_string(itemIndex),button); } } MenuLabel*itemNameLabel=new MenuLabel{INVENTORY,geom2d::rect(vf2d{2,invHeight*totalSpacing-4},windowSize),"",false,true}; inventoryWindow->AddComponent("itemName",itemNameLabel); MenuLabel*itemDescriptionLabel=new MenuLabel{INVENTORY,geom2d::rect(vf2d{2,invHeight*totalSpacing+itemSpacing},{windowSize.x-4,windowSize.y-108}),"",true,true}; inventoryWindow->AddComponent("itemDescription",itemDescriptionLabel); return inventoryWindow; }