Files
Mindustry/core/src/mindustry/entities/units/Hivemind.java
Patrick 'Quezler' Mounier 0ce1164ffa Brainstorm dibs logic
2020-01-01 20:29:14 +01:00

39 lines
1.0 KiB
Java

package mindustry.entities.units;
import arc.*;
import arc.util.*;
import arc.struct.*;
import mindustry.entities.type.base.*;
import mindustry.world.*;
import static mindustry.Vars.*;
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 -> {
on.put(crater.on(), crater);
});
craters.each(crater -> {
if(!on.containsKey(crater.aspires())){
crater.purpose = crater.aspires();
on.put(crater.aspires(), crater);
};
});
}
}