1 package cz.cuni.amis.pogamut.defcon.utils.quadtree;
2
3 import java.util.logging.Logger;
4
5 import cz.cuni.amis.pogamut.defcon.communication.worldview.DefConWorldView;
6
7
8
9
10
11
12
13 public class UnitPlacementQuadTreeLabellingMethod implements
14 IQuadTreeLabelingMethod {
15
16 private DefConWorldView worldview;
17 private Logger log;
18
19 public UnitPlacementQuadTreeLabellingMethod(DefConWorldView worldview,
20 Logger log) {
21 this.worldview = worldview;
22 this.log = log;
23 }
24
25 @Override
26 public boolean label(QuadTreeNode node) {
27
28 if (node.isLabeled()) {
29 if (node.getNodes() != null &&
30 (node.getFirst().isLabeled() ||
31 node.getSecond().isLabeled() ||
32 node.getThird().isLabeled() ||
33 node.getFourth().isLabeled())) {
34 return true;
35 }
36
37 node.setLabel(false);
38
39 return false;
40 }
41
42 boolean b = node.getNodes() == null && worldview.getGameInfo()
43 .isValidShipPlacementLocation(
44 node.getCenter().getX(),
45 node.getCenter().getY());
46
47 return b;
48
49 }
50 }