Polygonal protection bugfixes

This commit is contained in:
Anuken
2021-06-16 15:07:14 -04:00
parent f11f390c1f
commit 9088d9eb39
3 changed files with 35 additions and 6 deletions

View File

@@ -28,22 +28,24 @@ public class OverlayRenderer{
private float buildFade, unitFade;
private Sized lastSelect;
private Seq<CoreEdge> cedges = new Seq<>();
private int lastCores = -1;
private boolean updatedCores;
public OverlayRenderer(){
Events.on(WorldLoadEvent.class, e -> {
cedges.clear();
lastCores = -1;
updatedCores = true;
});
Events.on(CoreChangeEvent.class, e -> {
updatedCores = true;
});
}
private void updateCoreEdges(){
int count = state.teams.active.sum(t -> t.cores.size);
if(count == lastCores){
if(!updatedCores){
return;
}
lastCores = count;
updatedCores = false;
cedges.clear();
Seq<Vec2> pos = new Seq<>();
@@ -55,6 +57,7 @@ public class OverlayRenderer{
}
}
//if this is laggy, it could be shoved in another thread.
var result = Voronoi.generate(pos.toArray(Vec2.class), 0, world.unitWidth(), 0, world.unitHeight());
for(var edge : result){
cedges.add(new CoreEdge(edge.x1, edge.y1, edge.x2, edge.y2, teams.get(edge.site1).team, teams.get(edge.site2).team));