Exemple #1
0
        private void AddRegistryObjectDependency(UTinyModule module)
        {
            if (null == module)
            {
                return;
            }

            foreach (var m in module.EnumerateDependencies())
            {
                var path = UTinyPersistence.GetLocation(m);

                // Core or sample module/project don't need to be packaged, they will be included from the manifest.
                if (ShouldPackage(path))
                {
                    AddFileElements(path, false);
                }

                foreach (var asset in AssetIterator.EnumerateAssets(m))
                {
                    if (ShouldPackage(asset.AssetPath))
                    {
                        AddFileElements(asset.AssetPath, false);
                    }
                }
            }
        }
Exemple #2
0
        public static IEnumerable <UTinyAssetInfo> EnumerateAssets(UTinyModule module)
        {
            foreach (var m in module.EnumerateDependencies())
            {
                foreach (var asset in m.Assets)
                {
                    if (!asset.Object || null == asset.Object)
                    {
                        continue;
                    }

                    var assetInfo = GetOrAddAssetInfo(s_Assets, asset.Object, asset.Name);
                    assetInfo.AddExplicitReference((UTinyModule.Reference)module);
                }
            }

            foreach (var entity in module.EnumerateDependencies().Entities())
            {
                foreach (var component in entity.Components)
                {
                    foreach (var @object in EnumerateUnityEngineObjects(component))
                    {
                        if (!@object || null == @object)
                        {
                            continue;
                        }

                        var asset = GetOrAddAssetInfo(s_Assets, @object, @object.name);
                        asset.AddImplicitReference((UTinyEntity.Reference)entity);
                    }
                }
            }

            // Return root assets
            var assets = s_Assets.Values.Where(r => r.Parent == null).ToList();

            s_Assets.Clear();
            return(assets);
        }
Exemple #3
0
        public static string GetAssetName(UTinyModule module, Object @object)
        {
            if (!@object)
            {
                return(string.Empty);
            }

            var asset = module.EnumerateDependencies().Select(m => m.GetAsset(@object)).FirstOrDefault();

            if (!string.IsNullOrEmpty(asset?.Name))
            {
                return(asset.Name);
            }

            return(@object.name);
        }