This commit is contained in:
Anuken
2020-12-16 19:33:29 -05:00
parent 3db04da20a
commit bc2c7be45d

View File

@@ -55,11 +55,12 @@ public class Placement{
} }
public static Seq<Point2> upgradeLine(int startX, int startY, int endX, int endY){ public static Seq<Point2> upgradeLine(int startX, int startY, int endX, int endY){
closed.clear();
Pools.freeAll(points); Pools.freeAll(points);
points.clear(); points.clear();
var build = world.build(startX, startY); var build = world.build(startX, startY);
points.add(Pools.obtain(Point2.class, Point2::new).set(startX, startY)); points.add(Pools.obtain(Point2.class, Point2::new).set(startX, startY));
while(build instanceof ChainedBuilding chain && (build.tile.x != endX || build.tile.y != endY)){ while(build instanceof ChainedBuilding chain && (build.tile.x != endX || build.tile.y != endY) && closed.add(build.id)){
if(chain.next() == null) return pathfindLine(true, startX, startY, endX, endY); if(chain.next() == null) return pathfindLine(true, startX, startY, endX, endY);
build = chain.next(); build = chain.next();
points.add(Pools.obtain(Point2.class, Point2::new).set(build.tile.x, build.tile.y)); points.add(Pools.obtain(Point2.class, Point2::new).set(build.tile.x, build.tile.y));