protected void RestoreDevicePreview()
        {
            if (m_ConfigAsset.m_BackupPreviewToDisk == false)
            {
                return;
            }

            // Debug.Log("Restore");

            m_Loading     = true;
            m_NeedsBackup = false;
            m_ConfigAsset = ResolutionSettingsWindow.GetConfig();
            // Load screenshots from temporary folder
            foreach (ScreenshotResolution resolution in m_ConfigAsset.m_Config.GetActiveResolutions())
            {
                if (resolution.m_Texture != null)
                {
                    continue;
                }

                string filename = Application.persistentDataPath + "/" + m_TempFolder + "/" + resolution.m_ResolutionName + ".png";

                //				Debug.Log ("Loading tmp image " + filename);

                if (!System.IO.File.Exists(filename))
                {
                    continue;
                }

                resolution.m_Texture = TextureExporter.LoadFromFile(filename);
            }
            m_Loading = false;
        }
        public static PreviewConfigAsset GetConfig(bool allowCreation = true)
        {
            PreviewConfigAsset asset = null;

            if (allowCreation)
            {
                asset = AssetUtils.GetOrCreate <PreviewConfigAsset>("Assets/AlmostEngine/UniversalDevicePreview/Assets/Editor/UniversalDevicePreviewConfig.asset", "UniversalDevicePreviewConfig", "Assets/");
            }
            else
            {
                asset = AssetUtils.GetFirst <PreviewConfigAsset>();
            }
            if (asset == null)
            {
                return(null);
            }

            asset.m_Config.m_CaptureMode           = ScreenshotTaker.CaptureMode.GAMEVIEW_RESIZING;
            asset.m_Config.m_CameraMode            = ScreenshotConfig.CamerasMode.GAME_VIEW;
            asset.m_Config.m_ResolutionCaptureMode = ScreenshotConfig.ResolutionMode.CUSTOM_RESOLUTIONS;
            asset.m_Config.m_ShotMode           = ScreenshotConfig.ShotMode.ONE_SHOT;
            asset.m_Config.m_StopTimeOnCapture  = false;
            asset.m_Config.m_PlaySoundOnCapture = false;

            return(asset);
        }
        void OnEnable()
        {
            m_ConfigAsset = GetConfig();

            serializedObject = new SerializedObject(m_ConfigAsset);

            m_ConfigDrawer            = new ScreenshotConfigDrawer();
            m_ConfigDrawer.m_IsDevice = true;
            m_ConfigDrawer.Init(serializedObject, m_ConfigAsset, m_ConfigAsset.m_Config, serializedObject.FindProperty("m_Config"));
        }
 void OnEnable()
 {
     if (m_ConfigAsset == null)
     {
         m_ConfigAsset = GetConfig();
     }
     serializedObject = new SerializedObject(m_ConfigAsset);
     m_ConfigDrawer   = new ScreenshotConfigDrawer();
     m_ConfigDrawer.m_ShowDetailedDevice = true;
     m_ConfigDrawer.Init(serializedObject, m_ConfigAsset, m_ConfigAsset.m_Config, serializedObject.FindProperty("m_Config"));
     m_ConfigDrawer.m_Selector.m_ShowDetailedDevice = true;
 }
        public static PreviewConfigAsset GetConfig()
        {
            PreviewConfigAsset asset = AssetUtils.GetFirstOrCreate <PreviewConfigAsset>("UniversalDevicePreviewConfig", "Assets/");

            asset.m_Config.m_CaptureMode           = ScreenshotTaker.CaptureMode.GAMEVIEW_RESIZING;
            asset.m_Config.m_CameraMode            = ScreenshotConfig.CamerasMode.GAME_VIEW;
            asset.m_Config.m_ResolutionCaptureMode = ScreenshotConfig.ResolutionMode.CUSTOM_RESOLUTIONS;
            asset.m_Config.m_ShotMode           = ScreenshotConfig.ShotMode.ONE_SHOT;
            asset.m_Config.m_StopTimeOnCapture  = false;
            asset.m_Config.m_PlaySoundOnCapture = false;

            return(asset);
        }
        void Reset()
        {
            //			Debug.Log ("Reset");

            m_ConfigAsset = ResolutionSettingsWindow.GetConfig();

            DestroyManager();

            if (m_Camera)
            {
                GameObject.DestroyImmediate(m_Camera.gameObject);
            }
            if (m_Canvas)
            {
                GameObject.DestroyImmediate(m_Canvas.gameObject);
            }

            m_IsUpdating = false;
        }