Brainstorm dibs logic

This commit is contained in:
Patrick 'Quezler' Mounier
2020-01-01 20:29:14 +01:00
parent 12f51d477e
commit 0ce1164ffa

View File

@@ -4,6 +4,7 @@ import arc.*;
import arc.util.*;
import arc.struct.*;
import mindustry.entities.type.base.*;
import mindustry.world.*;
import static mindustry.Vars.*;
@@ -11,16 +12,27 @@ public class Hivemind{
private static long lastFrameUpdated = -1;
private static Interval timer = new Interval(1);
private static ObjectMap<Tile, CraterUnit> on = new ObjectMap<>();
public static void update(){
if(Core.graphics.getFrameId() == lastFrameUpdated) return;
lastFrameUpdated = Core.graphics.getFrameId();
if(!timer.get(30)) return;
on.clear();
ObjectSet<CraterUnit> craters = new ObjectSet<>();
unitGroup.all().each(e -> e instanceof CraterUnit, crater -> craters.add((CraterUnit)crater));
craters.each(crater -> {
crater.purpose = crater.aspires();
on.put(crater.on(), crater);
});
craters.each(crater -> {
if(!on.containsKey(crater.aspires())){
crater.purpose = crater.aspires();
on.put(crater.aspires(), crater);
};
});
}
}