loadImagesToPaint function

Future<ImagesToPaint?> loadImagesToPaint(
  1. LevelMapParams levelMapParams,
  2. int levelCount,
  3. double levelHeight,
  4. double screenWidth,
)

Implementation

Future<ImagesToPaint?> loadImagesToPaint(LevelMapParams levelMapParams,
    int levelCount, double levelHeight, double screenWidth) async {
  final ImageDetails completedLevelImageDetails = ImageDetails(
      imageInfo: await _getUiImage(levelMapParams.completedLevelImage),
      size: levelMapParams.completedLevelImage.size);
  final ImageDetails currentLevelImageDetails = ImageDetails(
      imageInfo: await _getUiImage(levelMapParams.currentLevelImage),
      size: levelMapParams.currentLevelImage.size);
  final ImageDetails lockedLevelImageDetails = ImageDetails(
      imageInfo: await _getUiImage(levelMapParams.lockedLevelImage),
      size: levelMapParams.lockedLevelImage.size);
  final ImageDetails? startLevelImageDetails =
      levelMapParams.startLevelImage != null
          ? ImageDetails(
              imageInfo: await _getUiImage(levelMapParams.startLevelImage!),
              size: levelMapParams.startLevelImage!.size)
          : null;
  final ImageDetails? pathEndImageDetails = levelMapParams.pathEndImage != null
      ? ImageDetails(
          imageInfo: await _getUiImage(levelMapParams.pathEndImage!),
          size: levelMapParams.pathEndImage!.size)
      : null;
  final List<BGImage>? bgImageDetailsList =
      levelMapParams.bgImagesToBePaintedRandomly != null
          ? await _getBGImages(levelMapParams.bgImagesToBePaintedRandomly!,
              levelCount, levelHeight, screenWidth)
          : null;
  return ImagesToPaint(
    bgImages: bgImageDetailsList,
    startLevelImage: startLevelImageDetails,
    completedLevelImage: completedLevelImageDetails,
    currentLevelImage: currentLevelImageDetails,
    lockedLevelImage: lockedLevelImageDetails,
    pathEndImage: pathEndImageDetails,
  );
}