Exemplo n.º 1
0
        void Load(BuildTarget target,
                  Model.NodeData node,
                  IEnumerable <Model.ConnectionData> connectionsToOutput,
                  PerformGraph.Output Output)
        {
            if (connectionsToOutput == null || Output == null)
            {
                return;
            }

            // SOMEWHERE_FULLPATH/PROJECT_FOLDER/Assets/
            var assetsFolderPath = Application.dataPath + Model.Settings.UNITY_FOLDER_SEPARATOR;

            var outputSource    = new List <AssetReference>();
            var targetFilePaths = FileUtility.GetAllFilePathsInFolder(GetLoaderFullLoadPath(target));

            foreach (var targetFilePath in targetFilePaths)
            {
                // already contained into Assets/ folder.
                // imported path is Assets/SOMEWHERE_FILE_EXISTS.
                if (targetFilePath.StartsWith(assetsFolderPath))
                {
                    var relativePath = targetFilePath.Replace(assetsFolderPath, Model.Settings.Path.ASSETS_PATH);

                    if (TypeUtility.IsGraphToolSystemAsset(relativePath))
                    {
                        continue;
                    }

                    var r = AssetReferenceDatabase.GetReference(relativePath);

                    if (r == null)
                    {
                        continue;
                    }

                    if (!TypeUtility.IsLoadingAsset(r))
                    {
                        continue;
                    }

                    if (r != null)
                    {
                        outputSource.Add(r);
                    }
                    continue;
                }

                throw new NodeException(node.Name + ": Invalid Load Path. Path must start with Assets/", node.Name);
            }

            var output = new Dictionary <string, List <AssetReference> > {
                { "0", outputSource }
            };

            var dst = (connectionsToOutput == null || !connectionsToOutput.Any())?
                      null : connectionsToOutput.First();

            Output(dst, output);
        }
Exemplo n.º 2
0
        public Dictionary <string, List <AssetReference> > ToGroupDictionary()
        {
            Dictionary <string, List <AssetReference> > dic = new Dictionary <string, List <AssetReference> >();

            foreach (var g in m_groups)
            {
                dic [g.name] = g.assets.Select(a => AssetReferenceDatabase.GetReference(a)).ToList();
            }
            return(dic);
        }
Exemplo n.º 3
0
        void Load(BuildTarget target,
                  Model.NodeData node,
                  IEnumerable <Model.ConnectionData> connectionsToOutput,
                  PerformGraph.Output Output)
        {
            if (connectionsToOutput == null || Output == null)
            {
                return;
            }

            var cond             = m_searchFilter[target];
            var assetsFolderPath = Application.dataPath + Model.Settings.UNITY_FOLDER_SEPARATOR;
            var outputSource     = new List <AssetReference>();

            var guids = AssetDatabase.FindAssets(cond);

            foreach (var guid in guids)
            {
                var targetFilePath = AssetDatabase.GUIDToAssetPath(guid);

                if (TypeUtility.IsGraphToolSystemAsset(targetFilePath))
                {
                    continue;
                }

                var relativePath = targetFilePath.Replace(assetsFolderPath, Model.Settings.Path.ASSETS_PATH);

                var r = AssetReferenceDatabase.GetReference(relativePath);

                if (!TypeUtility.IsLoadingAsset(r))
                {
                    continue;
                }

                if (r != null)
                {
                    outputSource.Add(AssetReferenceDatabase.GetReference(relativePath));
                }
            }

            var output = new Dictionary <string, List <AssetReference> > {
                { "0", outputSource }
            };

            var dst = (connectionsToOutput == null || !connectionsToOutput.Any())?
                      null : connectionsToOutput.First();

            Output(dst, output);
        }
Exemplo n.º 4
0
        void Load(BuildTarget target,
                  Model.NodeData node,
                  IEnumerable <Model.ConnectionData> connectionsToOutput,
                  PerformGraph.Output Output)
        {
            if (connectionsToOutput == null || Output == null)
            {
                return;
            }
            var outputSource = new List <AssetReference>();

            if (m_lastImportedAssetPaths != null)
            {
                foreach (var path in m_lastImportedAssetPaths)
                {
                    if (TypeUtility.IsGraphToolSystemAsset(path))
                    {
                        continue;
                    }

                    var r = AssetReferenceDatabase.GetReference(path);

                    if (!TypeUtility.IsLoadingAsset(r))
                    {
                        continue;
                    }

                    if (r != null)
                    {
                        outputSource.Add(r);
                    }
                }
            }


            var output = new Dictionary <string, List <AssetReference> > {
                { "0", outputSource }
            };

            var dst = (connectionsToOutput == null || !connectionsToOutput.Any())?
                      null : connectionsToOutput.First();

            Output(dst, output);
        }