Fix visual scrolling

This commit is contained in:
DBotThePony 2022-06-16 14:59:33 +07:00
parent b93faaae42
commit 7251ff7af5
Signed by: DBot
GPG Key ID: DCC23B5715498507
3 changed files with 5 additions and 7 deletions

View File

@ -51,7 +51,7 @@ class DriveViewerScreen(menu: DriveViewerMenu, inventory: Inventory, title: Comp
val grid = GridPanel(this, frame, 28f, 16f, GRID_WIDTH * 18f, GRID_HEIGHT * 18f, GRID_WIDTH, GRID_HEIGHT)
val scroll_bar = ScrollBarPanel(this, frame, 192f, 14f, 92f)
scroll_bar.setupRowMultiplier { menu.view.getItemCount() / GRID_WIDTH }
scroll_bar.setupRowMultiplier { menu.view.itemCount / GRID_WIDTH }
views.add(grid)
views.add(scroll_bar)

View File

@ -17,14 +17,14 @@ class ItemMonitorScreen(menu: ItemMonitorMenu, inventory: Inventory, title: Comp
SlotPanel(this, frame, menu.batterySlot, 8f, 80f)
val scrollBar = ScrollBarPanel(this, frame, 192f, 14f, 92f)
scrollBar.setupRowMultiplier { menu.view.getItemCount() / GRID_WIDTH }
scrollBar.setupRowMultiplier { menu.view.itemCount / GRID_WIDTH }
val gridPanel = GridPanel(this, frame, 28f, 16f, GRID_WIDTH * 18f, GRID_HEIGHT * 18f, GRID_WIDTH, GRID_HEIGHT)
for (i in 0 until GRID_WIDTH * GRID_HEIGHT) {
object : AbstractSlotPanel(this@ItemMonitorScreen, gridPanel) {
override fun getItemStack(): ItemStack {
val index = i + scrollBar.getScroll(menu.view.getItemCount() / GRID_WIDTH)
val index = i + scrollBar.getScroll(menu.view.itemCount / GRID_WIDTH) * GRID_WIDTH
return menu.view.sortedView.getOrNull(index)?.stack ?: ItemStack.EMPTY
}
@ -33,7 +33,7 @@ class ItemMonitorScreen(menu: ItemMonitorMenu, inventory: Inventory, title: Comp
}
override fun mouseClickedInner(mouse_x: Double, mouse_y: Double, mouse_click_type: Int): Boolean {
val index = i + scrollBar.getScroll(GRID_WIDTH)
val index = i + scrollBar.getScroll(GRID_WIDTH) * GRID_WIDTH
menu.view.mouseClick(index, mouse_click_type)
return true
}

View File

@ -227,9 +227,7 @@ open class NetworkedItemView(val ply: Player, val menu: MatteryMenu, val remote:
provider?.removeListenerAuto(this)
}
fun getItemCount(): Int {
return localState.values.size
}
val itemCount get() = localState.values.size
override fun addStack(stack: ItemStackWrapper, id: UUID, provider: IStorageProvider<ItemStackWrapper>) = addObject(stack.stack, id)
override fun changeStack(stack: ItemStackWrapper, id: UUID, oldCount: BigInteger) = changeObject(id, stack.count.toInt())