The on-going consumer disaster

This commit is contained in:
Anuken
2022-02-20 23:00:25 -05:00
parent 8b916d03af
commit 19828410a9
68 changed files with 371 additions and 451 deletions

View File

@@ -80,7 +80,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
public transient float healSuppressionTime = -1f;
public transient float lastHealTime = -120f * 10f;
private transient boolean consValid, consOptionalValid;
private transient boolean consValid;
private transient float timeScale = 1f, timeScaleDuration;
private transient float dumpAccum;
@@ -460,10 +460,6 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
return consValid && enabled && shouldConsume();
}
public boolean consOptionalValid(){
return consValid() && consOptionalValid;
}
public void consume(){
for(Consume cons : block.consumers){
cons.trigger(self());
@@ -1621,18 +1617,15 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
public void updateConsumption(){
//everything is valid when cheating
if(cheating()){
consValid = consOptionalValid = true;
consValid = true;
return;
}
boolean prevValid = consValid();
consValid = true;
consOptionalValid = true;
boolean docons = shouldConsume() && productionValid();
for(Consume cons : block.consumers){
if(cons.optional) continue;
for(Consume cons : block.nonOptionalConsumers){
if(docons && cons.update && prevValid && cons.valid(self())){
cons.update(self());
}
@@ -1644,8 +1637,6 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
if(docons && cons.update && prevValid && cons.valid(self())){
cons.update(self());
}
consOptionalValid &= cons.valid(self());
}
}