Rework dibs into hivemind
Imperfect, will require tweaking.
This commit is contained in:
27
core/src/mindustry/entities/units/Hivemind.java
Normal file
27
core/src/mindustry/entities/units/Hivemind.java
Normal file
@@ -0,0 +1,27 @@
|
||||
package mindustry.entities.units;
|
||||
|
||||
import arc.*;
|
||||
import arc.util.*;
|
||||
import arc.struct.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.entities.type.base.*;
|
||||
|
||||
import static mindustry.Vars.unitGroup;
|
||||
|
||||
public class Hivemind{
|
||||
private static long lastFrameUpdated = -1;
|
||||
private static Interval timer = new Interval(1);
|
||||
|
||||
public static void update(){
|
||||
if(Core.graphics.getFrameId() == lastFrameUpdated) return;
|
||||
lastFrameUpdated = Core.graphics.getFrameId();
|
||||
if(!timer.get(30)) return;
|
||||
|
||||
ObjectSet<CraterUnit> craters = new ObjectSet<>();
|
||||
unitGroup.all().each(e -> e instanceof CraterUnit, crater -> craters.add((CraterUnit)crater));
|
||||
|
||||
craters.each(crater -> {
|
||||
crater.purpose = Units.anyEntities(crater.aspires()) ? crater.on() : crater.aspires();
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user