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);
        }
Beispiel #3
0
        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);
        }