#pragma once #include "UI/ViewModels/UiViewCommon.h" /** One outfeed slot of the packer: an ore box waiting, or empty. */ struct FDescentPackerSlot { FName OreId; // NAME_None = empty slot int32 Count = 0; }; /** Packer console (DESIGN_UE.md 6.4): buffer, three partial-box gauges, four outfeed slots, EJECT. */ struct FDescentPackerViewModel { int32 Buffer = 0; int32 BufferCap = 24; int32 Partial[3] = { 0, 0, 0 }; // ferrite, cobalt, pearl; BoxSize makes a box int32 BoxSize = 6; FDescentPackerSlot Slots[4]; FString StatusText; FDescentUiAction OnEject; };