#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; Menu*inventoryWindow=new Menu(CENTERED,{totalSpacing*invWidth-itemSpacing,totalSpacing*(invHeight+1)-itemSpacing}); 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,vf2d{0,invHeight*totalSpacing-4},"",false,true}; inventoryWindow->AddComponent("itemName",itemNameLabel); MenuLabel*itemDescriptionLabel=new MenuLabel{INVENTORY,vf2d{2+inventoryWindow->size.x/2,invHeight*totalSpacing+4+itemSpacing},"",true,true}; inventoryWindow->AddComponent("itemDescription",itemDescriptionLabel); return inventoryWindow; }