From 5a3d68ea80e01e2ad3040e98e5561768b529eaa1 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Wed, 8 Jun 2022 15:25:12 +0700 Subject: [PATCH] Move listener automated add/remove to extension function --- .../mc/otm/menu/ItemMonitorMenu.kt | 5 +--- .../ru/dbotthepony/mc/otm/storage/API.kt | 30 +++++++++---------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ItemMonitorMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ItemMonitorMenu.kt index a202c25f1..f2b69dc0c 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ItemMonitorMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ItemMonitorMenu.kt @@ -8,10 +8,7 @@ import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.menu.data.INetworkedItemViewSupplier import ru.dbotthepony.mc.otm.menu.data.NetworkedItemView import ru.dbotthepony.mc.otm.registry.MMenus -import ru.dbotthepony.mc.otm.storage.ITEM_STORAGE -import ru.dbotthepony.mc.otm.storage.ItemStackWrapper -import ru.dbotthepony.mc.otm.storage.PoweredVirtualComponent -import ru.dbotthepony.mc.otm.storage.VirtualComponent +import ru.dbotthepony.mc.otm.storage.* class ItemMonitorMenu @JvmOverloads constructor( p_38852_: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/storage/API.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/storage/API.kt index 2ab38155f..86610177b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/storage/API.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/storage/API.kt @@ -124,30 +124,30 @@ interface IStorageProvider : IStorageEventProducer { * @return copy of object, with amount of units actually extracted */ fun extractStack(id: Long, amount: BigInteger, simulate: Boolean): T +} - fun addListenerAuto(listener: IStorageEventConsumer): Boolean { - if (addListener(listener)) { - for (stack in stacks) { - listener.addStack(stack.stack, stack.id, this) - } - - return true +fun IStorageProvider.removeListenerAuto(listener: IStorageEventConsumer): Boolean { + if (removeListener(listener)) { + for (stack in stacks) { + listener.removeStack(stack.stack, stack.id) } - return false + return true } - fun removeListenerAuto(listener: IStorageEventConsumer): Boolean { - if (removeListener(listener)) { - for (stack in stacks) { - listener.removeStack(stack.stack, stack.id) - } + return false +} - return true +fun IStorageProvider.addListenerAuto(listener: IStorageEventConsumer): Boolean { + if (addListener(listener)) { + for (stack in stacks) { + listener.addStack(stack.stack, stack.id, this) } - return false + return true } + + return false } interface IStorageComponent : IStorageProvider, IStorageAcceptor