/** * Removes walls between two specified nodes */ private void Merge(NodeVO from, NodeVO to) { int dx = to.pos.x - from.pos.x; int dy = to.pos.y - from.pos.y; if (dx != 0) { if (dx > 0) { to.RemoveWall(NodeVO.DIRECTION_LEFT_IDX); from.RemoveWall(NodeVO.DIRECTION_RIGHT_IDX); } else { to.RemoveWall(NodeVO.DIRECTION_RIGHT_IDX); from.RemoveWall(NodeVO.DIRECTION_LEFT_IDX); } } else if (dy != 0) { if (dy > 0) { to.RemoveWall(NodeVO.DIRECTION_DOWN_IDX); from.RemoveWall(NodeVO.DIRECTION_UP_IDX); } else { to.RemoveWall(NodeVO.DIRECTION_UP_IDX); from.RemoveWall(NodeVO.DIRECTION_DOWN_IDX); } } }