Example #1
0
    public void TestReplaceGameObjectByName()
    {
        var graph = LoadGraphForTest();

        var builderNode = graph.Nodes.First(n => n.Operation.ClassName == typeof(PrefabBuilder).AssemblyQualifiedName).Operation.Object as PrefabBuilder;
        var builder     = builderNode.GetPrefabBuilder(EditorUserBuildSettings.activeBuildTarget) as ReplaceGameObjectByName;

        var replacing = GameObject.CreatePrimitive(PrimitiveType.Capsule);

        replacing.name = "rep";

        builder.ReplaceEntries[0].dstObject.Object = replacing;
        builder.ReplaceEntries[0].name             = "???";

        using (new DisableAssetProcessEventRecordScope())
        {
            var result = AssetGraphUtility.ExecuteGraph(EditorUserBuildSettings.activeBuildTarget, graph);
            Assert.False(result.IsAnyIssueFound);
        }

        AssetDatabase.Refresh();

        var testObject = AssetDatabase.LoadAssetAtPath <GameObject>(Path.Combine(RootFolder, "replaceBy.prefab"));
        var refObject  = AssetDatabase.LoadAssetAtPath <GameObject>(Path.Combine(RootFolder, "Reference/replaceBy.prefab"));

        AssertGameObjectEqual(testObject, refObject);
    }
        /// <summary>
        /// build
        /// </summary>
        /// <param name="buildTarget"></param>
        /// <param name="outPath"></param>
        /// <param name="isUseHash"></param>
        static public void Build(BuildTarget buildTarget, string outPath)
        {
            var(cg, bdenvNode) = GetBDFrameExAssetGraph();
            var bdenv = (bdenvNode.Operation.Object as BDFrameworkAssetsEnv);

            bdenv.SetBuildParams(outPath, true);
            //执行
            AssetGraphUtility.ExecuteGraph(buildTarget, cg);
        }
    protected ExecuteGraphResult AssertGraphExecuteWithIssue()
    {
        ExecuteGraphResult result;

        using (new DisableAssetProcessEventRecordScope())
        {
            result = AssetGraphUtility.ExecuteGraph(EditorUserBuildSettings.activeBuildTarget, LoadGraphForTest(2));
            Assert.True(result.IsAnyIssueFound);
        }
        return(result);
    }
Example #4
0
    public void TestDirectoryNotExist()
    {
        ExecuteGraphResult result;

        using (new DisableAssetProcessEventRecordScope())
        {
            result = AssetGraphUtility.ExecuteGraph(UnityEditor.EditorUserBuildSettings.activeBuildTarget, LoadGraphForTest(1, false));
        }

        Assert.True(result.IsAnyIssueFound);

        foreach (var e in result.Issues)
        {
            Assert.AreEqual(e.Node.Operation.ClassName, typeof(Loader).AssemblyQualifiedName);
        }
    }
Example #5
0
        public static void ExecuteMultiple()
        {
//            var graphName1 = $"AssetGraph - 1.asset";
//            var graphPath1 = Path.Combine("Assets", "_", "Graphs", graphName1);
//            var graphName2 = $"AssetGraph - 2.asset";
//            var graphPath2 = Path.Combine("Assets", "_", "Graphs", graphName2);
//
//            var graphGuids = new List<string>
//            {
//                AssetDatabase.AssetPathToGUID(graphPath1),
//                AssetDatabase.AssetPathToGUID(graphPath2)
//            };
//
            var graphDirectory = Path.Combine(Application.dataPath, "_", "Graphs");
            var filePaths      = Directory.GetFiles(graphDirectory);

            var fileNames =
                filePaths.Select(fp =>
            {
                var fileInfo = new FileInfo(fp);

                var count = fileInfo.DirectoryName.Length;

                // Add one more for slash char
                return(fp.Remove(0, count + 1));
            });

            var graphGuids =
                fileNames
                .Select(fn =>
            {
                var graphPath = Path.Combine("Assets", "_", "Graphs", fn);
                var guid      = AssetDatabase.AssetPathToGUID(graphPath);
                return(guid);
            })
                .ToList();

            // Graph that has smaller sort order will run first
            AssetGraphUtility.ExecuteAllGraphs(graphGuids, true);
        }
    protected void AssertGraphExecuteWithNoIssue()
    {
        var result = AssetGraphUtility.ExecuteGraph(EditorUserBuildSettings.activeBuildTarget, LoadGraphForTest(2));

        Assert.False(result.IsAnyIssueFound);
    }
Example #7
0
 static void Build()
 {
     AssetGraphUtility.ExecuteGraph("Assets/Workflow/AB.asset");
 }
Example #8
0
 static public void ExecuteGraph()
 {
     AssetGraphUtility.ExecuteGraph("Assets/AssetGraph/Graph/Stage.asset");
 }