Browse Source

Using color instead of int value.

master
MagicBot 2 years ago
parent
commit
3a2695703b
  1. 10
      src/engine/InterestManagement/RealmMap.java
  2. 16
      src/engine/util/MapLoader.java

10
src/engine/InterestManagement/RealmMap.java

@ -37,11 +37,13 @@ public enum RealmMap {
// a player is currently located within. // a player is currently located within.
public static int[][] _realmImageMap; public static int[][] _realmImageMap;
private static final HashMap<Integer, Integer> _rgbToIDMap = new HashMap<>(); private static final HashMap<Color, Integer> _rgbToIDMap = new HashMap<>();
public static int getRealmIDByRGB(int realmRGB) { public static int getRealmIDByColor(Color color) {
return _rgbToIDMap.get(realmRGB); int realmID = _rgbToIDMap.get(color);
return realmID;
} }
@ -60,7 +62,7 @@ public enum RealmMap {
} }
public static void addToColorMap(Color color, int realmID) { public static void addToColorMap(Color color, int realmID) {
_rgbToIDMap.put(color.getRGB(), realmID); _rgbToIDMap.put(color, realmID);
} }
public static Realm getRealmForCity(City city) { public static Realm getRealmForCity(City city) {

16
src/engine/util/MapLoader.java

@ -50,16 +50,16 @@ public enum MapLoader {
for (int i = 0; i < MBServerStatics.SPATIAL_HASH_BUCKETSY; i++) { for (int i = 0; i < MBServerStatics.SPATIAL_HASH_BUCKETSY; i++) {
for (int j = 0; j < MBServerStatics.SPATIAL_HASH_BUCKETSX; j++) { for (int j = 0; j < MBServerStatics.SPATIAL_HASH_BUCKETSX; j++) {
try { try {
int rgb = image.getRGB(j, i); Color pixelColor = new Color(image.getRGB(j, i));
realmUUID = RealmMap.getRealmIDByRGB(rgb); realmUUID = RealmMap.getRealmIDByColor(pixelColor);
realmMap[j][i] = realmUUID;
bytesRead++;
if (realmUUID != 0) realmMap[j][i] = realmUUID;
realmsWritten++; bytesRead++;
}catch (Exception e){ if (realmUUID != 0)
realmsWritten++;
}catch (Exception e){
continue; continue;
} }

Loading…
Cancel
Save