Beispiel #1
0
        public IEnumerable <HtmlTag> BuildScriptTags(IEnumerable <string> scripts)
        {
            Func <string, string> toFullUrl = url => _request.ToFullUrl(url);

            while (_queuedScripts.Any())
            {
                var asset = _queuedScripts.Dequeue();
                if (_writtenScripts.Contains(asset))
                {
                    continue;
                }

                _writtenScripts.Add(asset);

                yield return(new ScriptTag(_runtime.Mode, toFullUrl, asset));
            }

            foreach (var x in scripts)
            {
                var asset = _finder.FindAsset(x);

                if (asset == null)
                {
                    yield return(new ScriptTag(_runtime.Mode, toFullUrl, null, defaultUrl: x));
                }
                else if (!_writtenScripts.Contains(asset))
                {
                    _writtenScripts.Add(asset);
                    yield return(new ScriptTag(_runtime.Mode, toFullUrl, asset, defaultUrl: x));
                }
            }
        }
Beispiel #2
0
 private IEnumerable <Result> find(IEnumerable <string> names)
 {
     return(names.Select(x => new Result
     {
         Asset = _finder.FindAsset(x),
         Name = x
     }).ToArray());
 }
Beispiel #3
0
        public AssetToken get_assets_find_Name(AssetSearch search)
        {
            var asset = _assets.FindAsset(search.Name);

            return(asset == null ? new AssetToken {
                url = search.Name, file = "NOT FOUND"
            } : new AssetToken(asset));
        }
	// ENDSAMPLE
        public AssetFileWatcher(IAssetFinder finder, IClientConnector connector)
        {
            _connector = connector;

            var asset = finder.FindAsset("bundle.js");
            var path = asset.File.Path;

            _watcher = new FileChangeWatcher(path.ParentDirectory(), FileSet.Shallow("bundle.js"), this);
        }
        // ENDSAMPLE
        public AssetFileWatcher(IAssetFinder finder, IClientConnector connector)
        {
            _connector = connector;

            var asset = finder.FindAsset("bundle.js");
            var path  = asset.File.Path;

            _watcher = new FileChangeWatcher(path.ParentDirectory(), FileSet.Shallow("bundle.js"), this);
        }
        public static void AddLoadingFromSession(this ShaderGeneratorContext context, IAssetFinder package)
        {
            var previousGetAssetFriendlyName = context.GetAssetFriendlyName;
            var previousFindAsset            = context.FindAsset;

            // Setup the GetAssetFriendlyName callback
            context.GetAssetFriendlyName = runtimeAsset =>
            {
                string assetFriendlyName = null;

                if (previousGetAssetFriendlyName != null)
                {
                    assetFriendlyName = previousGetAssetFriendlyName(runtimeAsset);
                }

                if (string.IsNullOrEmpty(assetFriendlyName))
                {
                    var referenceAsset = AttachedReferenceManager.GetAttachedReference(runtimeAsset);
                    assetFriendlyName = $"{referenceAsset.Id}:{referenceAsset.Url}";
                }

                return(assetFriendlyName);
            };

            // Setup the FindAsset callback
            context.FindAsset = runtimeAsset =>
            {
                object newAsset = null;
                if (previousFindAsset != null)
                {
                    newAsset = previousFindAsset(runtimeAsset);
                }

                if (newAsset != null)
                {
                    return(newAsset);
                }

                var reference = AttachedReferenceManager.GetAttachedReference(runtimeAsset);


                var assetItem = package.FindAsset(reference.Id);

                return(assetItem?.Asset);
            };
        }
 private void GatherAllBasePartAssetsRecursively([NotNull] IAssetFinder assetFinder, [NotNull] ISet <AssetId> baseAssets)
 {
     if (assetFinder == null)
     {
         throw new ArgumentNullException(nameof(assetFinder));
     }
     if (baseAssets == null)
     {
         throw new ArgumentNullException(nameof(baseAssets));
     }
     foreach (var part in Parts.Where(x => x.Base != null))
     {
         if (baseAssets.Add(part.Base.BasePartAsset.Id))
         {
             var baseAsset = assetFinder.FindAsset(part.Base.BasePartAsset.Id)?.Asset as AssetCompositeHierarchy <TAssetPartDesign, TAssetPart>;
             if (baseAsset != null)
             {
                 baseAssets.AddRange(baseAsset.Hierarchy.GatherAllBasePartAssets(assetFinder));
             }
         }
     }
 }