@@ -12,45 +12,65 @@ public enum SpriteDir {
1212 NORTHEAST (5 , "NE" , 7 ),
1313 NORTHWEST (9 , "NW" , 8 );
1414
15+ /**
16+ * <p>BYOND representation of dir as int value.
17+ * <ul>
18+ * <li>SOUTH - 2</li>
19+ * <li>NORTH - 1</li>
20+ * <li>EAST - 4</li>
21+ * <li>WEST - 8</li>
22+ * <li>SOUTHEAST - 6</li>
23+ * <li>SOUTHWEST - 10</li>
24+ * <li>NORTHEAST - 5</li>
25+ * <li>NORTHWEST - 9</li>
26+ * </ul>
27+ */
1528 public final int dirValue ;
29+
30+ /**
31+ * <p>Just a shorted string representation of constant values.
32+ * <ul>
33+ * <li>SOUTH - S</li>
34+ * <li>NORTH - N</li>
35+ * <li>EAST - E</li>
36+ * <li>WEST - W</li>
37+ * <li>SOUTHEAST - SE</li>
38+ * <li>SOUTHWEST - SW</li>
39+ * <li>NORTHEAST - NE</li>
40+ * <li>NORTHWEST - NW</li>
41+ * </ul>
42+ */
1643 public final String shortName ;
1744
45+ // Used to sort dirs in BYOND like order.
1846 final int compareWeight ;
1947
20- // During DMI slurping all dirs are passed in `for(i = 0; i <= n; i++)` cycle.
21- // Those constants are determine the order in which dirs are placed.
22- private static final int SOUTH_DIR_COUNT = 1 ;
23- private static final int NORTH_DIR_COUNT = 2 ;
24- private static final int EAST_DIR_COUNT = 3 ;
25- private static final int WEST_DIR_COUNT = 4 ;
26- private static final int SOUTHEAST_DIR_COUNT = 5 ;
27- private static final int SOUTHWEST_DIR_COUNT = 6 ;
28- private static final int NORTHEAST_DIR_COUNT = 7 ;
29- private static final int NORTHWEST_DIR_COUNT = 8 ;
30-
3148 SpriteDir (final int dirValue , final String shortName , final int compareWeight ) {
3249 this .dirValue = dirValue ;
3350 this .shortName = shortName ;
3451 this .compareWeight = compareWeight ;
3552 }
3653
54+ // During DMI slurping all dirs are passed in `for(i = 0; i <= n; i++)` cycle.
55+ // This method determines the order in which dirs are placed in `.dmi` file.
56+ @ SuppressWarnings ("checkstyle:MagicNumber" )
3757 static SpriteDir valueOf (final int dirCount ) {
3858 switch (dirCount ) {
39- case SOUTH_DIR_COUNT :
59+ case 1 :
4060 return SOUTH ;
41- case NORTH_DIR_COUNT :
61+ case 2 :
4262 return NORTH ;
43- case EAST_DIR_COUNT :
63+ case 3 :
4464 return EAST ;
45- case WEST_DIR_COUNT :
65+ case 4 :
4666 return WEST ;
47- case SOUTHEAST_DIR_COUNT :
67+ case 5 :
4868 return SOUTHEAST ;
49- case SOUTHWEST_DIR_COUNT :
69+ case 6 :
5070 return SOUTHWEST ;
51- case NORTHEAST_DIR_COUNT :
71+ case 7 :
5272 return NORTHEAST ;
53- case NORTHWEST_DIR_COUNT :
73+ case 8 :
5474 return NORTHWEST ;
5575 default :
5676 return SOUTH ;
0 commit comments