Beispiel #1
0
        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());
        }
Beispiel #2
0
        public void Setup()
        {
            // Build providers with default assets
            _providers = new List <IAssetProvider>()
            {
                new AssetProviderBase(DefaultAssets.GetDefaultResources())
            };

            // Sample logger
            _logger = new BenchmarkLogger <AssetManager>();
        }