Merge remote-tracking branch 'origin/master'

This commit is contained in:
Anuken
2021-06-06 21:01:55 -04:00
6 changed files with 51 additions and 20 deletions

View File

@@ -0,0 +1,20 @@
package mindustry.world.blocks.power;
import arc.func.*;
import mindustry.gen.*;
import mindustry.world.consumers.*;
/** A power consumer that uses a dynamic amount of power. */
public class DynamicConsumePower extends ConsumePower{
private final Floatf<Building> usage;
public DynamicConsumePower(Floatf<Building> usage){
super(0, 0, false);
this.usage = usage;
}
@Override
public float requestedPower(Building entity){
return usage.get(entity);
}
}

View File

@@ -68,6 +68,11 @@ public class Consumers{
return add(new ConditionalConsumePower(usage, (Boolf<Building>)cons));
}
/** Creates a consumer that consumes a dynamic amount of power. */
public <T extends Building> ConsumePower powerDynamic(Floatf<T> usage){
return add(new DynamicConsumePower((Floatf<Building>)usage));
}
/**
* Creates a consumer which stores power.
* @param powerCapacity The maximum capacity in power units.