resolveFile static method

PathId resolveFile({
  1. required String dirPath,
  2. required String resId,
  3. required List<String> assetFiles,
  4. ResourceQualifiers? spec,
  5. bool? onlyUseAsset,
})

Implementation

static PathId resolveFile({
  required String dirPath,
  required String resId,
  required List<String> assetFiles,
  ResourceQualifiers? spec,
  bool? onlyUseAsset,
}) {
  final files = FileAssetLoader().files(dirPath, resId);

  final currentQualifiers = spec ?? _currentResourceQualifiers();

  print('$resId currentQualifiers: $currentQualifiers');
  print('files: $files');

  if (files.isNotEmpty) {
    String? selectedFile = ResourceQualifierResolver.selectBestMatchingFile(
      resId,
      files,
      currentQualifiers,
    );

    if (selectedFile != null) {
      print('selectedFile: $selectedFile');
      return PathId(
        '${FileAssetLoader().skinDir}/$dirPath/$selectedFile',
        false,
      );
    }
  }

  if (assetFiles.isEmpty) {
    return PathId(dirPath + resId, false, cantFound: true);
  }

  String assetFilePath = '$dirPath/${assetFiles[0]}';
  return PathId(assetFilePath, true);
}