async Task <IEnumerable <AssetEnvironment> > GetMergedEnvironmentsAsync() { // Get provided resources var provided = await _assetManager.GetAssets(); var providedEnvironments = provided.ToList(); // Get default resources var defaults = DefaultAssets.GetDefaultResources(); var defaultEnvironments = defaults.ToList(); // Merge provided resources into default groups var output = defaultEnvironments.ToDictionary(p => p.TargetEnvironment); foreach (var defaultEnvironment in defaultEnvironments) { // Get provided resources matching our current environment var matchingEnvironments = providedEnvironments .Where(g => g.TargetEnvironment == defaultEnvironment.TargetEnvironment) .ToList(); // Iterate through each matching provided environment adding // resources from that environment into our default environments foreach (var group in matchingEnvironments) { foreach (var resource in group.Resources) { output[defaultEnvironment.TargetEnvironment].Resources.Add(resource); } } } return(output.Values.ToList()); }
public void Setup() { // Build providers with default assets _providers = new List <IAssetProvider>() { new AssetProviderBase(DefaultAssets.GetDefaultResources()) }; // Sample logger _logger = new BenchmarkLogger <AssetManager>(); }