public void ReplaceGuid_OldAndNew_Replaced() { var fs = MetadataBootstrap.FileSystem; var prefabPath = "PrefabSample1.ReplaceGuidTest.prefab"; fs.CopyFile("PrefabSample1.prefab", prefabPath); var target = new YamlPrefabMetadataWriter(fs, MockRepository.GenerateMock <ILog>()); var oldScript1 = new ScriptMetadata { FileId = 1363015578, Guid = "a184ae646778d4bf48c881bb73f2188a" }; var oldScript2 = new ScriptMetadata { FileId = -1557964980, Guid = "a184ae646778d4bf48c881bb73f2188a" }; target.ReplaceGuid(oldScript1, "1ReplaceGuidTest1", prefabPath); target.ReplaceGuid(oldScript2, "2ReplaceGuidTest2", prefabPath); var reader = new YamlPrefabMetadataReader(MetadataBootstrap.ScriptMetadataService, fs); var actual = reader.Read(prefabPath); Assert.AreEqual(2, actual.MonoBehaviours.Count); Assert.AreEqual("1ReplaceGuidTest1", actual.MonoBehaviours.First().Script.Guid); Assert.AreEqual("2ReplaceGuidTest2", actual.MonoBehaviours.Last().Script.Guid); }
/// <summary> /// Performs the setup. /// </summary> /// <param name="assetsRootFolder">Assets root folder.</param> /// <param name="log">Log.</param> public static void Setup(string assetsRootFolder, ILog log) { Log = log; Log.Debug("MetadataBootstrap.Setup: {0}", assetsRootFolder); FileSystem = new IsolatedFolderFileSystem(assetsRootFolder); AssemblyLoader = new ReflectionAssemblyLoader(FileSystem); TypeService = new TypeService(FileSystem, AssemblyLoader); MetaFileService.Initialize(FileSystem); ScriptMetadataService = new ScriptMetadataService(TypeService); PrefabMetadataReader = new YamlPrefabMetadataReader(ScriptMetadataService, FileSystem); PrefabMetadataWriter = new YamlPrefabMetadataWriter(FileSystem, Log); PrefabMetadataService = new PrefabMetadataService(PrefabMetadataReader, PrefabMetadataWriter, FileSystem, TypeService); AssetRepository = new AssetDatabaseAssetRepository(); }