Fixed #8084
This commit is contained in:
@@ -380,6 +380,10 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
||||
for(var edge : block.getEdges()){
|
||||
Building build = nearby(edge.x, edge.y);
|
||||
if(build != null && build.team == team && build instanceof HeatBlock heater){
|
||||
//massive hack but I don't really care anymore
|
||||
if(heater instanceof HeatConductorBuild cond){
|
||||
cond.updateHeat();
|
||||
}
|
||||
|
||||
boolean split = build.block instanceof HeatConductor cond && cond.splitHeat;
|
||||
// non-routers must face us, routers must face away - next to a redirector, they're forced to face away due to cycles anyway
|
||||
|
||||
@@ -4,6 +4,7 @@ import arc.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import mindustry.*;
|
||||
import mindustry.entities.units.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
@@ -52,6 +53,7 @@ public class HeatConductor extends Block{
|
||||
public float heat = 0f;
|
||||
public float[] sideHeat = new float[4];
|
||||
public IntSet cameFrom = new IntSet();
|
||||
public long lastHeatUpdate = -1;
|
||||
|
||||
@Override
|
||||
public void draw(){
|
||||
@@ -76,6 +78,13 @@ public class HeatConductor extends Block{
|
||||
|
||||
@Override
|
||||
public void updateTile(){
|
||||
updateHeat();
|
||||
}
|
||||
|
||||
public void updateHeat(){
|
||||
if(lastHeatUpdate == Vars.state.updateId) return;
|
||||
|
||||
lastHeatUpdate = Vars.state.updateId;
|
||||
heat = calculateHeat(sideHeat, cameFrom);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user