public void EstimateAssetNameTest() { Assert.AreEqual("A12B", ImageSequenceImporter.EstimateAssetName(Path.Combine("E:", "A", "png", "A12B00000"))); Assert.AreEqual("A12B", ImageSequenceImporter.EstimateAssetName(Path.Combine("E:", "A", "png", "A12B00000"))); Assert.AreEqual("A12B", ImageSequenceImporter.EstimateAssetName(Path.Combine("E:", "A", "png", "A12B00000.png"))); Assert.AreEqual("A", ImageSequenceImporter.EstimateAssetName(Path.Combine("E:", "A", "png", "A_00000"))); Assert.AreEqual("AB", ImageSequenceImporter.EstimateAssetName(Path.Combine("E:", "A", "png", "AB_00000.png"))); Assert.AreEqual("ABC", ImageSequenceImporter.EstimateAssetName(Path.Combine("E:", "A", "png", "ABC_00000.png"))); Assert.AreEqual("A", ImageSequenceImporter.EstimateAssetName(Path.Combine("E:", "A", "png", "A_00000.png"))); Assert.AreEqual("A", ImageSequenceImporter.EstimateAssetName(Path.Combine("E:", "A", "png", "A__00000.png"))); Assert.AreEqual("A", ImageSequenceImporter.EstimateAssetName(Path.Combine("E:", "A", "png", "A___00000.png"))); Assert.AreEqual("png", ImageSequenceImporter.EstimateAssetName(Path.Combine("E:", "A", "png", "00000"))); Assert.AreEqual("png", ImageSequenceImporter.EstimateAssetName(Path.Combine("E:", "A", "png", "00000.png"))); Assert.AreEqual("A12B", ImageSequenceImporter.EstimateAssetName(Path.Combine("A12B00000"))); Assert.AreEqual("A12B", ImageSequenceImporter.EstimateAssetName(Path.Combine("A12B00000.png"))); Assert.AreEqual("A", ImageSequenceImporter.EstimateAssetName(Path.Combine("A_00000"))); Assert.AreEqual("AB", ImageSequenceImporter.EstimateAssetName(Path.Combine("AB_00000.png"))); Assert.AreEqual("ABC", ImageSequenceImporter.EstimateAssetName(Path.Combine("ABC_00000.png"))); Assert.AreEqual("A", ImageSequenceImporter.EstimateAssetName(Path.Combine("A_00000.png"))); Assert.AreEqual("A", ImageSequenceImporter.EstimateAssetName(Path.Combine("A__00000.png"))); Assert.AreEqual("A", ImageSequenceImporter.EstimateAssetName(Path.Combine("A___00000.png"))); Assert.AreEqual("", ImageSequenceImporter.EstimateAssetName(Path.Combine("00000"))); Assert.AreEqual("", ImageSequenceImporter.EstimateAssetName(Path.Combine("00000.png"))); }
//---------------------------------------------------------------------------------------------------------------------- internal static TimelineClip CreateTestSISTimelineClip(PlayableDirector director) { string tempTimelineAssetPath = AssetDatabase.GenerateUniqueAssetPath("Assets/TempSISTimelineForTestRunner.playable"); //Create timeline asset TimelineAsset timelineAsset = ScriptableObject.CreateInstance <TimelineAsset>(); director.playableAsset = timelineAsset; AssetDatabase.CreateAsset(timelineAsset, tempTimelineAssetPath); //Create empty asset StreamingImageSequenceTrack sisTrack = timelineAsset.CreateTrack <StreamingImageSequenceTrack>(null, "SIS Track"); TimelineClip clip = sisTrack.CreateDefaultClip(); StreamingImageSequencePlayableAsset sisAsset = clip.asset as StreamingImageSequencePlayableAsset; Assert.IsNotNull(sisAsset); //Select gameObject and open Timeline Window. This will trigger the TimelineWindow's update etc. EditorApplication.ExecuteMenuItem("Window/Sequencing/Timeline"); // Selection.activeTransform = director.gameObject.transform; // TimelineEditor.selectedClip = sisAsset.GetBoundTimelineClip(); Selection.activeObject = director; string fullPath = Path.GetFullPath(SRC_IMAGE_PATH); ImageSequenceImporter.ImportImages(fullPath, sisAsset, false); return(clip); }
public IEnumerator ImportFromStreamingAssets() { PlayableDirector director = EditorUtilityTest.NewSceneWithDirector(); TimelineClip clip = EditorUtilityTest.CreateTestSISTimelineClip(director); StreamingImageSequencePlayableAsset sisAsset = clip.asset as StreamingImageSequencePlayableAsset; Assert.IsNotNull(sisAsset); //Copy test data to streamingAssetsPath const string DEST_FOLDER_NAME = "ImportFromStreamingAssetsTest"; string streamingAssetsFolder = AssetUtility.NormalizeAssetPath(Application.streamingAssetsPath); string destFolderGUID = AssetDatabase.CreateFolder(streamingAssetsFolder, DEST_FOLDER_NAME); string destFolder = AssetDatabase.GUIDToAssetPath(destFolderGUID); int numImages = sisAsset.GetNumImages(); for (int i = 0; i < numImages; ++i) { string src = sisAsset.GetImageFilePath(i); Assert.IsNotNull(src); string dest = Path.Combine(destFolder, Path.GetFileName(src)); File.Copy(src, dest, true); } AssetDatabase.Refresh(); yield return(null); ImageSequenceImporter.ImportImages(destFolder, sisAsset); yield return(null); Assert.AreEqual(destFolder, sisAsset.GetFolder()); //Cleanup AssetDatabase.DeleteAsset(destFolder); EditorUtilityTest.DestroyTestTimelineAssets(clip); yield return(null); }