Changed island information creation to be async.

Flooder no longer uses it's own interface for flooding.
This commit is contained in:
2020-05-14 15:07:46 -05:00
parent 78f0a846da
commit ea4ba47427
9 changed files with 142 additions and 70 deletions

View File

@@ -1,4 +1,4 @@
package ca.recrown.islandsurvivalcraft.utilities.floodfill;
package ca.recrown.islandsurvivalcraft.utilities.drawing;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -14,14 +14,14 @@ import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.api.TestInstance.Lifecycle;
import ca.recrown.islandsurvivalcraft.utilities.datatypes.Point2;
import ca.recrown.islandsurvivalcraft.utilities.floodfill.Floodable;
import ca.recrown.islandsurvivalcraft.utilities.pathfinding.CoordinateValidatable;
@TestInstance(Lifecycle.PER_CLASS)
public class FloodFillTest {
public byte[][] mapA;
public byte[][] mapB;
private class Flood implements Floodable {
private class Flood implements CoordinateValidatable {
private final byte[][] map;
public Flood(byte[][] map) {
@@ -29,7 +29,7 @@ public class FloodFillTest {
}
@Override
public boolean flood(Point2 point) {
public boolean validate(Point2 point) {
try {
if (map[point.y][point.x] < 1) return false;
} catch (IndexOutOfBoundsException e) {