Skip to content

Commit 917dd63

Browse files
committed
filter interface
1 parent 5ddf824 commit 917dd63

File tree

7 files changed

+18
-21
lines changed

7 files changed

+18
-21
lines changed

src/main/java/bwapi/BWClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77

88
public class BWClient {
9-
private BWEventListener eventListener;
9+
private BWListener eventListener;
1010

1111
private Client client;
1212
private EventHandler handler;
1313

1414

15-
public BWClient(final BWEventListener eventListener) {
15+
public BWClient(final BWListener eventListener) {
1616
Objects.requireNonNull(eventListener);
1717
this.eventListener = eventListener;
1818
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
import bwapi.point.Position;
55

6-
public interface BWEventListener {
6+
public interface BWListener {
77

88
void onStart();
99

src/main/java/bwapi/DefaultBWListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import bwapi.point.Position;
44

5-
public class DefaultBWListener implements BWEventListener {
5+
public class DefaultBWListener implements BWListener {
66

77
public void onStart() {}
88

src/main/java/bwapi/EventHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
import bwapi.point.Position;
66

77
class EventHandler implements Client.EventHandler {
8-
private final BWEventListener eventListener;
8+
private final BWListener eventListener;
99
private final Client.GameData data;
1010
private Game game;
1111

12-
public EventHandler(final BWEventListener eventListener, final Client.GameData data) {
12+
public EventHandler(final BWListener eventListener, final Client.GameData data) {
1313
this.eventListener = eventListener;
1414
this.data = data;
1515
}

src/main/java/bwapi/Game.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package bwapi;
22

33
import JavaBWAPIBackend.Client.GameData;
4-
import bwapi.filter.UnitFilter;
54
import bwapi.point.Position;
65
import bwapi.point.TilePosition;
76
import bwapi.point.WalkPosition;
@@ -404,14 +403,13 @@ else if (!builder.getType().isFlyingBuilding() && type != Zerg_Nydus_Canal && !t
404403
// Ground unit dimension check
405404
if (type != Special_Start_Location) {
406405
final Position targPos = lt.toPosition().add(type.tileSize().toPosition().divide(2));
407-
Set<Unit> unitsInRect = getUnitsInRectangle(lt.toPosition(), rb.toPosition(), new UnitFilter(
408-
"!IsFlying &&"
409-
+ "!IsLoaded &&"
410-
+ " [&builder, &type](Unit u){ return u != builder || type == UnitTypes::Zerg_Nydus_Canal;} &&"
411-
+ "GetLeft <= targPos.x + type.dimensionRight() &&"
412-
+ " GetTop <= targPos.y + type.dimensionDown() &&"
413-
+ "GetRight >= targPos.x - type.dimensionLeft() &&"
414-
+ "GetBottom >= targPos.y - type.dimensionUp() ) "));
406+
Set<Unit> unitsInRect = getUnitsInRectangle(lt.toPosition(), rb.toPosition(),
407+
(u -> !u.isFlying() && !u.isLoaded() && builder != null || type == Zerg_Nydus_Canal
408+
&& u.getLeft() <= targPos.x + type.dimensionRight()
409+
&& u.getTop() <= targPos.y + type.dimensionDown()
410+
&& u.getRight() <= targPos.x + type.dimensionLeft()
411+
&& u.getBottom() <= targPos.y + type.dimensionUp()));
412+
415413
for (Unit u : unitsInRect){
416414
// Addons can be placed over units that can move, pushing them out of the way
417415
if ( !(type.isAddon() && u.getType().canMove()) )
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package bwapi;
2+
3+
interface UnitFilter {
4+
boolean operation(Unit unit);
5+
}

src/main/java/bwapi/filter/UnitFilter.java

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)