Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -3,6 +3,7 @@ package mindustry.world.blocks.production;
|
||||
import arc.*;
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.math.*;
|
||||
import arc.util.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.logic.*;
|
||||
@@ -19,6 +20,7 @@ public class Pump extends LiquidBlock{
|
||||
public float pumpAmount = 0.2f;
|
||||
/** Interval in-between item consumptions, if applicable. */
|
||||
public float consumeTime = 60f * 5f;
|
||||
public float warmupSpeed = 0.019f;
|
||||
public DrawBlock drawer = new DrawMulti(new DrawDefault(), new DrawPumpLiquid());
|
||||
|
||||
public Pump(String name){
|
||||
@@ -105,6 +107,7 @@ public class Pump extends LiquidBlock{
|
||||
}
|
||||
|
||||
public class PumpBuild extends LiquidBuild{
|
||||
public float warmup, totalProgress;
|
||||
public float consTimer;
|
||||
public float amount = 0f;
|
||||
public @Nullable Liquid liquidDrop = null;
|
||||
@@ -161,14 +164,34 @@ public class Pump extends LiquidBlock{
|
||||
//does nothing for most pumps, as those do not require items.
|
||||
if((consTimer += delta()) >= consumeTime){
|
||||
consume();
|
||||
consTimer = 0f;
|
||||
consTimer %= 1f;
|
||||
}
|
||||
|
||||
warmup = Mathf.approachDelta(warmup, maxPump > 0.001f ? 1f : 0f, warmupSpeed);
|
||||
}else{
|
||||
warmup = Mathf.approachDelta(warmup, 0f, warmupSpeed);
|
||||
}
|
||||
|
||||
totalProgress += warmup * Time.delta;
|
||||
|
||||
if(liquidDrop != null){
|
||||
dumpLiquid(liquidDrop);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public float warmup(){
|
||||
return warmup;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float progress(){
|
||||
return Mathf.clamp(consTimer / consumeTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public float totalProgress(){
|
||||
return totalProgress;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user