Configurable block build time
This commit is contained in:
@@ -422,7 +422,7 @@ public class ConstructBlock extends Block{
|
||||
this.wasConstructing = true;
|
||||
this.current = block;
|
||||
this.previous = previous;
|
||||
this.buildCost = block.buildCost * state.rules.buildCostMultiplier;
|
||||
this.buildCost = block.buildTime * state.rules.buildCostMultiplier;
|
||||
this.itemsLeft = new int[block.requirements.length];
|
||||
this.accumulator = new float[block.requirements.length];
|
||||
this.totalAccumulator = new float[block.requirements.length];
|
||||
@@ -442,7 +442,7 @@ public class ConstructBlock extends Block{
|
||||
this.previous = previous;
|
||||
this.progress = 1f;
|
||||
this.current = previous;
|
||||
this.buildCost = previous.buildCost * state.rules.buildCostMultiplier;
|
||||
this.buildCost = previous.buildTime * state.rules.buildCostMultiplier;
|
||||
this.itemsLeft = new int[previous.requirements.length];
|
||||
this.accumulator = new float[previous.requirements.length];
|
||||
this.totalAccumulator = new float[previous.requirements.length];
|
||||
@@ -500,7 +500,7 @@ public class ConstructBlock extends Block{
|
||||
if(previous == null) previous = Blocks.air;
|
||||
if(current == null) current = Blocks.air;
|
||||
|
||||
buildCost = current.buildCost * state.rules.buildCostMultiplier;
|
||||
buildCost = current.buildTime * state.rules.buildCostMultiplier;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ public abstract class BlockProducer extends PayloadBlock{
|
||||
public void setBars(){
|
||||
super.setBars();
|
||||
|
||||
addBar("progress", (BlockProducerBuild entity) -> new Bar("bar.progress", Pal.ammo, () -> entity.recipe() == null ? 0f : (entity.progress / entity.recipe().buildCost)));
|
||||
addBar("progress", (BlockProducerBuild entity) -> new Bar("bar.progress", Pal.ammo, () -> entity.recipe() == null ? 0f : (entity.progress / entity.recipe().buildTime)));
|
||||
}
|
||||
|
||||
public abstract class BlockProducerBuild extends PayloadBlockBuild<BuildPayload>{
|
||||
@@ -108,7 +108,7 @@ public abstract class BlockProducer extends PayloadBlock{
|
||||
if(produce){
|
||||
progress += buildSpeed * edelta();
|
||||
|
||||
if(progress >= recipe.buildCost){
|
||||
if(progress >= recipe.buildTime){
|
||||
consume();
|
||||
payload = new BuildPayload(recipe, team);
|
||||
payload.block().placeEffect.at(x, y, payload.size() / tilesize);
|
||||
@@ -130,14 +130,14 @@ public abstract class BlockProducer extends PayloadBlock{
|
||||
|
||||
var recipe = recipe();
|
||||
if(recipe != null){
|
||||
Drawf.shadow(x, y, recipe.size * tilesize * 2f, progress / recipe.buildCost);
|
||||
Drawf.shadow(x, y, recipe.size * tilesize * 2f, progress / recipe.buildTime);
|
||||
Draw.draw(Layer.blockBuilding, () -> {
|
||||
Draw.color(Pal.accent);
|
||||
|
||||
for(TextureRegion region : recipe.getGeneratedIcons()){
|
||||
Shaders.blockbuild.region = region;
|
||||
Shaders.blockbuild.time = time;
|
||||
Shaders.blockbuild.progress = progress / recipe.buildCost;
|
||||
Shaders.blockbuild.progress = progress / recipe.buildTime;
|
||||
|
||||
Draw.rect(region, x, y, recipe.rotate ? rotdeg() : 0);
|
||||
Draw.flush();
|
||||
|
||||
@@ -64,7 +64,7 @@ public class BuildPayload implements Payload{
|
||||
|
||||
@Override
|
||||
public float buildTime(){
|
||||
return build.block.buildCost;
|
||||
return build.block.buildTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -22,7 +22,7 @@ import static mindustry.Vars.*;
|
||||
|
||||
public class UnitCargoLoader extends Block{
|
||||
public UnitType unitType = UnitTypes.manifold;
|
||||
public float buildTime = 60f * 8f;
|
||||
public float unitBuildTime = 60f * 8f;
|
||||
|
||||
public float polyStroke = 1.8f, polyRadius = 8f;
|
||||
public int polySides = 6;
|
||||
@@ -106,7 +106,7 @@ public class UnitCargoLoader extends Block{
|
||||
readyness = Mathf.approachDelta(readyness, unit != null ? 1f : 0f, 1f / 60f);
|
||||
|
||||
if(unit == null && Units.canCreate(team, unitType)){
|
||||
buildProgress += edelta() / buildTime;
|
||||
buildProgress += edelta() / unitBuildTime;
|
||||
totalProgress += edelta();
|
||||
|
||||
if(buildProgress >= 1f){
|
||||
|
||||
Reference in New Issue
Block a user