public static Stream ReadCombinedAssets(this IFileProvider fp, string assetsFilePath, out bool wasCombined) { string actualName = fp.CorrectAssetFilename(assetsFilePath); List <string> assetFiles = new List <string>(); if (actualName.ToLower().EndsWith("split0")) { assetFiles.AddRange(fp.FindFiles(actualName.Replace(".split0", ".split*")) .OrderBy(x => Convert.ToInt32(x.Split(new string[] { ".split" }, StringSplitOptions.None).Last()))); } else { wasCombined = false; return(fp.GetReadStream(actualName)); } wasCombined = true; //TODO: property or something on the file provider interface letting this code know if it should use the combined stream // I think combined stream may perform horribly on zip files or cause other issues. return(new CombinedStream(assetFiles, fp)); }