예제 #1
0
//----------------------------------------------------------------------------------------------------------------------

        internal static void DrawPreviewImage(ref PreviewDrawInfo drawInfo, string imagePath)
        {
            if (!File.Exists(imagePath))
            {
                return;
            }

            Texture2D tex = null;

            if (imagePath.IsRegularAssetPath())
            {
                tex = AssetDatabase.LoadAssetAtPath <Texture2D>(imagePath);
            }
            else
            {
                ImageLoader.GetImageDataInto(imagePath, StreamingImageSequenceConstants.IMAGE_TYPE_PREVIEW
                                             , out ImageData readResult);

                switch (readResult.ReadStatus)
                {
                case StreamingImageSequenceConstants.READ_STATUS_LOADING:
                    break;

                case StreamingImageSequenceConstants.READ_STATUS_SUCCESS: {
                    tex = PreviewTextureFactory.GetOrCreate(imagePath, ref readResult);
                    break;
                }

                default: {
                    ImageLoader.RequestLoadPreviewImage(imagePath, (int)drawInfo.DrawRect.width, (int)drawInfo.DrawRect.height);
                    break;
                }
                }
            }


            if (null == tex)
            {
                return;
            }

            if (PlayerSettings.colorSpace == ColorSpace.Linear)
            {
                Material mat = GetOrCreateLinearToGammaMaterial();
                Graphics.DrawTexture(drawInfo.DrawRect, tex, mat);
            }
            else
            {
                Graphics.DrawTexture(drawInfo.DrawRect, tex);
            }
        }
예제 #2
0
        private static void ShowLoadedImages()
        {
            StringBuilder sb = new StringBuilder();

            for (int imageType = 0; imageType < StreamingImageSequenceConstants.MAX_IMAGE_TYPES; ++imageType)
            {
                sb.AppendLine("IMAGE_TYPE: " + imageType.ToString());

                List <string> loadedTextures = new List <string>();
                StreamingImageSequencePlugin.ListLoadedImages(imageType, (fileName) => {
                    loadedTextures.Add(fileName);
                });

                foreach (var fileName in loadedTextures)
                {
                    ImageLoader.GetImageDataInto(fileName, imageType, out ImageData readResult);
                    sb.Append("    ");
                    sb.Append(fileName);
                    sb.Append(". Status: " + readResult.ReadStatus);
                    sb.Append(", Size: (" + readResult.Width + ", " + readResult.Height);
                    sb.AppendLine(") ");
                }

                sb.AppendLine("----------------------------------------------------------------");
                sb.AppendLine();
                sb.AppendLine();
            }

            sb.AppendLine("Preview Textures: ");
            IDictionary <string, PreviewTexture> previewTextures = PreviewTextureFactory.GetPreviewTextures();

            foreach (var kvp in previewTextures)
            {
                sb.Append("    ");
                sb.AppendLine(kvp.Key);
            }

            Debug.Log(sb.ToString());
        }
예제 #3
0
 private static void Reset()
 {
     EditorSceneEventManager.ResetPluginAndTasks();
     PreviewTextureFactory.Reset();
 }
 static void PreviewTextureFactory_OnSceneCreated( Scene scene, NewSceneSetup setup, NewSceneMode mode) {
     PreviewTextureFactory.Reset();
 }
 static void PreviewTextureFactory_OnSceneClosed(Scene scene) {
     PreviewTextureFactory.Reset();
 }
 private static void Reset()
 {
     EditorUpdateManager.ResetImageLoading();
     PreviewTextureFactory.Reset();
 }