-
Notifications
You must be signed in to change notification settings - Fork 7
Grid
Refaltor77 edited this page Mar 29, 2026
·
1 revision
Dynamic grid layout for repeated elements (inventories, lists, etc.).
use refaltor\ui\elements\Grid;
$grid = Grid::create("my_grid");$grid->setGridDimensions([3, 3]); // [columns, rows]
$grid->setMaximumGridItems(9); // Max items to show
$grid->setGridItemTemplate("common.inventory_slot"); // Template for each cell
$grid->setGridFillDirection("horizontal"); // horizontal | vertical
$grid->setGridRescalingType("horizontal"); // horizontal | vertical | none
$grid->setGridDimensionBinding("#collection_length");// Dynamic dimension
$grid->setPrecachedGridItemCount(9); // Pre-cache count$grid = Grid::create("inventory_grid")
->setGridDimensions([3, 3])
->setMaximumGridItems(9)
->setGridItemTemplate("common.inventory_slot")
->setGridFillDirection("horizontal")
->setGridRescalingType("horizontal")
->setSize(180, 180)
->setAnchorFrom(Element::ANCHOR_CENTER)
->setAnchorTo(Element::ANCHOR_CENTER);$list = Grid::create("item_list")
->setGridDimensions([1, 5])
->setMaximumGridItems(5)
->setGridFillDirection("vertical")
->setSize(200, 250);$dynamicGrid = Grid::create("dynamic_grid")
->setGridDimensions([4, 1])
->setGridDimensionBinding("#collection_length")
->setGridItemTemplate("my_namespace.grid_item_template")
->addBinding(Binding::global("#collection_length", "#collection_length"));