Batched building health update packet

This commit is contained in:
Anuken
2022-06-22 18:30:59 -04:00
parent 2de706cc6d
commit 1a98a66f23
11 changed files with 135 additions and 54 deletions
+18 -16
View File
@@ -306,24 +306,26 @@ public class BlockIndexer{
return breturnArray;
}
public void notifyBuildHealed(Building build){
if(build.wasDamaged && !build.damaged() && damagedTiles[build.team.id] != null){
damagedTiles[build.team.id].remove(build);
build.wasDamaged = false;
public void notifyHealthChanged(Building build){
boolean damaged = build.damaged();
if(build.wasDamaged != damaged){
if(damagedTiles[build.team.id] == null){
damagedTiles[build.team.id] = new Seq<>(false);
}
if(damaged){
//is now damaged, add to array
damagedTiles[build.team.id].add(build);
}else{
//no longer damaged, remove
damagedTiles[build.team.id].remove(build);
}
build.wasDamaged = damaged;
}
}
public void notifyBuildDamaged(Building build){
if(build.wasDamaged || !build.damaged()) return;
if(damagedTiles[build.team.id] == null){
damagedTiles[build.team.id] = new Seq<>(false);
}
damagedTiles[build.team.id].add(build);
build.wasDamaged = true;
}
public void allBuildings(float x, float y, float range, Cons<Building> cons){
breturnArray.clear();
for(int i = 0; i < activeTeams.size; i++){
@@ -473,7 +475,7 @@ public class BlockIndexer{
data.turretTree.insert(tile.build);
}
notifyBuildDamaged(tile.build);
notifyHealthChanged(tile.build);
}
if(blocksPresent != null){