Add empty energy storage

This commit is contained in:
DBotThePony 2023-07-06 13:13:01 +07:00
parent 0d069a2d8e
commit 6d205b3b4a
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -200,6 +200,49 @@ interface IMatteryEnergyStorage : IEnergyStorage {
override fun canReceive(): Boolean { override fun canReceive(): Boolean {
return energyFlow.input return energyFlow.input
} }
/**
* Companion object of [IMatteryEnergyStorage] represents empty energy storage
*/
companion object : IMatteryEnergyStorage {
override fun extractEnergy(howMuch: Decimal, simulate: Boolean): Decimal {
return Decimal.ZERO
}
override fun receiveEnergy(howMuch: Decimal, simulate: Boolean): Decimal {
return Decimal.ZERO
}
override var batteryLevel: Decimal
get() = Decimal.ZERO
set(value) {}
override val maxBatteryLevel: Decimal
get() = Decimal.ZERO
override val energyFlow: FlowDirection
get() = FlowDirection.NONE
override val canSetBatteryLevel: Boolean
get() = false
override val missingPower: Decimal
get() = Decimal.ZERO
override fun drainBattery(): Boolean {
return false
}
override fun fillBattery(): Boolean {
return false
}
override fun receiveEnergy(maxReceive: Int, simulate: Boolean): Int {
return 0
}
override fun extractEnergy(maxReceive: Int, simulate: Boolean): Int {
return 0
}
}
} }
/** /**