コード例 #1
0
        public void CheckSceneDupe_SceneDependenciesMatchWithImplicitBundleDependencies()
        {
            Scene scene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene);

            PrefabUtility.InstantiatePrefab(AssetDatabase.LoadAssetAtPath <GameObject>(k_PrefabWithMaterialPath), scene);
            EditorSceneManager.SaveScene(scene, k_ScenePath);

            var rule = new CheckSceneDupeDependencies();

            EditorBuildSettingsScene editorScene = new EditorBuildSettingsScene(k_ScenePath, true);

            rule.BuiltInResourcesToDependenciesMap(new string[] { editorScene.path });
            rule.IntersectResourcesDepedenciesWithBundleDependencies(new List <GUID>()
            {
                new GUID(AssetDatabase.AssetPathToGUID(k_CheckDupeMyMaterial))
            });

            Assert.IsTrue(rule.m_ResourcesToDependencies.ContainsKey(editorScene.path));
            Assert.AreEqual(1, rule.m_ResourcesToDependencies[editorScene.path].Count);
            Assert.AreEqual(AssetDatabase.AssetPathToGUID(k_CheckDupeMyMaterial), rule.m_ResourcesToDependencies[editorScene.path][0].ToString());

            //Cleanup
            EditorSceneManager.NewScene(NewSceneSetup.EmptyScene);
        }