private IEnumerable <ResourceDatabase> ResourceScanProcess() { var resourceDatabase = new ResourceDatabase(); var scanner = new ResourceScanner(); var i = 0; foreach (var resourceDefinition in scanner.Scan()) { resourceDatabase.Add(resourceDefinition); TotalItems = scanner.TotalAssets; ItemsCompleted = i; ++i; yield return(null); } resourceDatabase.Validate(); AssetTypeCache.SaveCache(); yield return(resourceDatabase); }