Doesn’t really close the gap

This commit is contained in:
Patrick 'Quezler' Mounier
2020-01-01 20:13:07 +01:00
parent b8cede1cf5
commit 197118e16e

View File

@@ -12,14 +12,16 @@ import static mindustry.Vars.*;
public class Hivemind{ public class Hivemind{
private static long lastFrameUpdated = -1; private static long lastFrameUpdated = -1;
private static Interval timer = new Interval(1); private static Interval timer = new Interval(1);
private static ObjectMap<Tile, CraterUnit> dibs = new ObjectMap<>(); private static ObjectMap<Tile, CraterUnit> dibstc = new ObjectMap<>();
private static ObjectMap<CraterUnit, Tile> dibsct = new ObjectMap<>();
public static void update(){ public static void update(){
if(Core.graphics.getFrameId() == lastFrameUpdated) return; if(Core.graphics.getFrameId() == lastFrameUpdated) return;
lastFrameUpdated = Core.graphics.getFrameId(); lastFrameUpdated = Core.graphics.getFrameId();
if(!timer.get(30)) return; if(!timer.get(30)) return;
dibs.clear(); dibstc.clear();
dibsct.clear();
ObjectSet<CraterUnit> craters = new ObjectSet<>(); ObjectSet<CraterUnit> craters = new ObjectSet<>();
unitGroup.all().each(e -> e instanceof CraterUnit, crater -> craters.add((CraterUnit)crater)); unitGroup.all().each(e -> e instanceof CraterUnit, crater -> craters.add((CraterUnit)crater));
@@ -29,7 +31,8 @@ public class Hivemind{
}else{ }else{
crater.purpose = crater.aspires(); crater.purpose = crater.aspires();
} }
dibs.put(crater.purpose, crater); dibstc.put(crater.purpose, crater);
dibsct.put(crater, crater.purpose);
}); });
} }
@@ -37,10 +40,10 @@ public class Hivemind{
final boolean[] result = {false}; final boolean[] result = {false};
Units.allEntities(tile, unit -> { Units.allEntities(tile, unit -> {
if(unit != crater) result[0] = true; if(unit != crater && dibsct.get((CraterUnit)unit) != tile) result[0] = true;
}); });
if(dibs.containsKey(tile) && dibs.get(tile) != crater) result[0] = true; if(dibstc.containsKey(tile) && dibstc.get(tile) != crater) result[0] = true;
return result[0]; return result[0];
} }