This commit is contained in:
Anuken
2023-01-07 14:26:25 -05:00
parent 723b10af57
commit 542bf2b413
2 changed files with 13 additions and 0 deletions

View File

@@ -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

View File

@@ -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);
}