void read() throws GameActionException { switch (type) { case MAP_LOW: if (Common.xMin == Common.MAP_NONE && x != Signals.SIG_NONE) { int newx = x + Common.hometown.x / Common.MAP_MOD * Common.MAP_MOD; if (newx > Common.hometown.x) newx -= Common.MAP_MOD; Common.xMin = newx; Common.xMax = Common.twiceCenterX - Common.xMin; if (Common.canMessageSignal) Common.sendBoundariesLow = true; } if (Common.yMin == Common.MAP_NONE && y != Signals.SIG_NONE) { int newy = y + Common.hometown.y / Common.MAP_MOD * Common.MAP_MOD; if (newy > Common.hometown.y) newy -= Common.MAP_MOD; Common.yMin = newy; if (Common.canMessageSignal) Common.sendBoundariesLow = true; } break; case MAP_HIGH: if (Common.xMax == Common.MAP_NONE && x != Signals.SIG_NONE) { int newx = x + Common.hometown.x / Common.MAP_MOD * Common.MAP_MOD; if (newx < Common.hometown.x) newx += Common.MAP_MOD; Common.xMax = newx; Common.xMin = Common.twiceCenterX - Common.xMax; if (Common.canMessageSignal) Common.sendBoundariesHigh = true; } if (Common.yMax == Common.MAP_NONE && y != Signals.SIG_NONE) { int newy = y + Common.hometown.y / Common.MAP_MOD * Common.MAP_MOD; if (newy < Common.hometown.y) newy += Common.MAP_MOD; Common.yMax = newy; if (Common.canMessageSignal) Common.sendBoundariesHigh = true; } break; case ENEMY: Signals.enemies[Signals.enemiesSize++] = Signals.expandPoint(x, y); break; case TARGET: Signals.targets[Signals.targetsSize++] = Signals.expandPoint(x, y); break; } }