Add proxied energy storage
This commit is contained in:
parent
1955975cee
commit
0d069a2d8e
@ -0,0 +1,35 @@
|
||||
package ru.dbotthepony.mc.otm.capability.energy
|
||||
|
||||
import ru.dbotthepony.mc.otm.capability.FlowDirection
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
|
||||
class ProxiedEnergyStorage<T : IMatteryEnergyStorage>(var parent: T? = null) : IMatteryEnergyStorage {
|
||||
override fun extractEnergy(howMuch: Decimal, simulate: Boolean): Decimal {
|
||||
return parent?.extractEnergy(howMuch, simulate) ?: Decimal.ZERO
|
||||
}
|
||||
|
||||
override fun receiveEnergy(howMuch: Decimal, simulate: Boolean): Decimal {
|
||||
return parent?.receiveEnergy(howMuch, simulate) ?: Decimal.ZERO
|
||||
}
|
||||
|
||||
override var batteryLevel: Decimal
|
||||
get() = parent?.batteryLevel ?: Decimal.ZERO
|
||||
set(value) { parent?.batteryLevel = value }
|
||||
override val maxBatteryLevel: Decimal
|
||||
get() = parent?.maxBatteryLevel ?: Decimal.ZERO
|
||||
override val energyFlow: FlowDirection
|
||||
get() = parent?.energyFlow ?: FlowDirection.NONE
|
||||
|
||||
override val canSetBatteryLevel: Boolean
|
||||
get() = parent?.canSetBatteryLevel ?: false
|
||||
override val missingPower: Decimal
|
||||
get() = parent?.missingPower ?: Decimal.ZERO
|
||||
|
||||
override fun drainBattery(): Boolean {
|
||||
return parent?.drainBattery() ?: false
|
||||
}
|
||||
|
||||
override fun fillBattery(): Boolean {
|
||||
return parent?.fillBattery() ?: false
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user