sas
1429 ワード
package com.jleo.pickitup;
class CityResourceManager {
def cityName
BlocklizedPoint[] points = new BlocklizedPoint[0];
Map<String, List<BlocklizedPoint>> blockMap = new HashMap<String, List<BlocklizedPoint>>();
public CityResourceManager(City city){
this.cityName = city.name
BlocklizedPoint[] points = toBlocklizedPoints(city.resources)
preProcessResourcePoint(points);
}
public void toBlocklizedPoints(resources){
return resources.collectAll(){Resource it->
new BlocklizedPoint(it.x,it.y,0,0,it)
}
}
public void preProcessResourcePoint(BlocklizedPoint[] points){
this.points = points;
blockMap = new HashMap<String, List<BlocklizedPoint>>();
for(int i=0; i<points.length; i++){
BlocklizedPoint p = points[i];
String zoneId = p.zonex+","+p.zoney;
if(!blockMap.containsKey(zoneId)){
List<BlocklizedPoint> ps = new ArrayList<BlocklizedPoint>();
ps.add(p);
blockMap.put(zoneId,ps);
} else{
blockMap.get(zoneId).add(p);
}
}
}
}