private void DrawSceneDetail(SceneDetail _sc) { var asset = AssetDatabase.LoadAssetAtPath <SceneAsset>(TGPaths.FullScenePath(_sc.sceneName)); if (asset == null) { EditorGUILayout.HelpBox("Please make sure scene has saved to Assets/_Projects/Scenes Directory", MessageType.Warning); } EditorGUILayout.BeginHorizontal(); EditorGUILayout.ObjectField(asset, typeof(SceneAsset), false, GUILayout.Width(350), GUILayout.MinWidth(150)); EditorGUILayout.LabelField(_sc.deviceType, GUILayout.Width(100)); EditorGUILayout.EndHorizontal(); }
public static IEnumerator SaveTexture(Texture2D _tex, string _name) { float ratio = ( float )_tex.width / _tex.height; int width = 0, height = 0; // 如果比例大于阈值,则使用Fix width方案 // 反之使用Fix Height方案 if (ratio > FIX_HEIGHT_THRESHOLD) { width = FIX_WIDTH; height = Mathf.RoundToInt(width / ratio); } else { height = FIX_HEIGHT; width = Mathf.RoundToInt(height * ratio); // 如果使用Fix Height方案后,宽度还是超标 // 则再转位Fix Width方案 if (width > FIX_WIDTH) { width = FIX_WIDTH; height = Mathf.RoundToInt(width / ratio); } } Debug.Log("Saved Texture Sizes: " + width + ", " + height); _tex = TextureScaler.ResizeTexture(_tex, width, height); byte[] bytes = _tex.EncodeToPNG(); string path = TGPaths.FullScreenshotPath(_name); Debug.Log("截图路径: " + path); // 写入文件 LMFileWriter.Write(path, bytes); // 写到Dicionary里,好之后写入ret.txt TGData.SaveScreenshot(_name); yield return(null); }
// 清理没用的场景 private void ClearNullScene() { var sceneDatas = m_settingData.sceneDatas; for (int i = sceneDatas.Count - 1; i >= 0; i--) { var sceneDetails = sceneDatas[i].sceneDetails; for (int j = sceneDetails.Count - 1; j >= 0; j--) { var asset = AssetDatabase.LoadAssetAtPath <SceneAsset>(TGPaths.FullScenePath(sceneDetails[j].sceneName)); // 找不到该场景则清除该场景 if (asset == null) { sceneDatas[i].sceneDetails.RemoveAt(j); } } } EditorUtility.SetDirty(m_settingData); }