diff --git a/Assets/Editor/EditorConst.cs b/Assets/Editor/EditorConst.cs index e98200e..e827733 100644 --- a/Assets/Editor/EditorConst.cs +++ b/Assets/Editor/EditorConst.cs @@ -7,7 +7,7 @@ namespace UguiToolkit.Editor public const string SettingFilePath = WorkspaceDirPath + "/setting.asset"; public const string CacheFilePath = WorkspaceDirPath + "/cache.asset"; public const string RotScaleInfoFilePath = "Temp/result_rot_scale.json"; - public const string RotScaleInfoToolFilePath = "Packages/com.soviby.unity.ui.ugui-toolkit/.tools/result_rot_scale/main.exe"; + public const string RotScaleInfoToolFilePath = "Packages/com.txcombo.c1.ugui-toolkit/.tools/result_rot_scale/main.exe"; } } diff --git a/Assets/Editor/Helper/CommandHelper.cs b/Assets/Editor/Helper/CommandHelper.cs index 8212342..5faf24a 100644 --- a/Assets/Editor/Helper/CommandHelper.cs +++ b/Assets/Editor/Helper/CommandHelper.cs @@ -16,12 +16,14 @@ namespace UguiToolkit.Editor var rotScaleInfoToolFilePath = Path.GetFullPath(EditorConst.RotScaleInfoToolFilePath); if (File.Exists(rotScaleInfoFilePath)) File.Delete(rotScaleInfoFilePath); - _ = RunCmdAsync(string.Format("{0} -src {1} -target {2} -distance_difference {3} -output_path {4}", + var cmd = string.Format("{0} -src {1} -target {2} -distance_difference {3} -output_path {4}", rotScaleInfoToolFilePath, Path.GetFullPath(srcImgDirPath), Path.GetFullPath(targetImgDirPath), distanceDifference, - Path.GetFullPath(rotScaleInfoFilePath)), (output, error) => + Path.GetFullPath(rotScaleInfoFilePath)); + Debug.Log("cmd: " + cmd); + _ = RunCmdAsync(cmd, (output, error) => { Debug.Log(output); if (!File.Exists(rotScaleInfoFilePath)) @@ -50,6 +52,8 @@ namespace UguiToolkit.Editor p.StartInfo.CreateNoWindow = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; + p.StartInfo.StandardOutputEncoding = System.Text.Encoding.UTF8; + p.StartInfo.StandardErrorEncoding = System.Text.Encoding.UTF8; p.Start(); var output = p.StandardOutput.ReadToEnd(); @@ -70,6 +74,8 @@ namespace UguiToolkit.Editor p.StartInfo.CreateNoWindow = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; + p.StartInfo.StandardOutputEncoding = System.Text.Encoding.UTF8; + p.StartInfo.StandardErrorEncoding = System.Text.Encoding.UTF8; p.Start(); diff --git a/Assets/Editor/Manager/EntityManager.cs b/Assets/Editor/Manager/EntityManager.cs index 1274021..27f1764 100644 --- a/Assets/Editor/Manager/EntityManager.cs +++ b/Assets/Editor/Manager/EntityManager.cs @@ -124,13 +124,13 @@ namespace UguiToolkit.Editor { if (m_checkImgPaths == null) m_checkImgPaths = new HashSet(); - var images = m_stageManager.PrefabContentsRoot.GetComponentsInChildren(); - foreach (var image in images) - { - if (image.sprite == null) continue; - var srcImgPath = AssetDatabase.GetAssetPath(image.sprite); - m_checkImgPaths.Add(srcImgPath); - } + //var images = m_stageManager.PrefabContentsRoot.GetComponentsInChildren(); + //foreach (var image in images) + //{ + // if (image.sprite == null) continue; + // var srcImgPath = AssetDatabase.GetAssetPath(image.sprite); + // m_checkImgPaths.Add(srcImgPath); + //} } private void UpdatePanelCache(string srcImgDirPath, string targetImgDirPath) diff --git a/Assets/Editor/ScriptObject/CacheScriptObject.cs b/Assets/Editor/ScriptObject/CacheScriptObject.cs index 8dfb95b..60b3527 100644 --- a/Assets/Editor/ScriptObject/CacheScriptObject.cs +++ b/Assets/Editor/ScriptObject/CacheScriptObject.cs @@ -79,8 +79,8 @@ namespace UguiToolkit.Editor [Serializable] public class PanelCache { - [LabelText("源图片文件夹路径"), FolderPath] - public string srcImgDirPath; + //[LabelText("源图片文件夹路径"), FolderPath] + //public string srcImgDirPath; [LabelText("目标图片信息文件(psd导出)"), FolderPath] public string layoutInfoFilePath; // Sample.layout.txt [LabelText("目标图片文件夹路径")] @@ -111,9 +111,10 @@ namespace UguiToolkit.Editor private string m_targetImgDirPath; private PanelCache() { } - public PanelCache(string srcImgDirPath, string layoutInfoFilePath) + // public PanelCache(string srcImgDirPath, string layoutInfoFilePath) + public PanelCache(string layoutInfoFilePath) { - this.srcImgDirPath = srcImgDirPath; + // this.srcImgDirPath = srcImgDirPath; this.layoutInfoFilePath = layoutInfoFilePath; this.m_targetImgDirPath = GetTargetImgDirPath(layoutInfoFilePath); diff --git a/Assets/Editor/Windows/PanelCacheWindow.cs b/Assets/Editor/Windows/PanelCacheWindow.cs index 3d00735..395742a 100644 --- a/Assets/Editor/Windows/PanelCacheWindow.cs +++ b/Assets/Editor/Windows/PanelCacheWindow.cs @@ -14,8 +14,8 @@ namespace UguiToolkit.Editor.Windows public class PanelCacheWindow : BaseWindow { - [LabelText("源图片文件夹路径"), FolderPath, SerializeField] - private string m_srcImgDirPath; + //[LabelText("源图片文件夹路径"), FolderPath, SerializeField] + //private string m_srcImgDirPath; [LabelText("目标图片信息文件(psd导出)"), Sirenix.OdinInspector.FilePath(Extensions = "layout.txt"), SerializeField] private string m_layoutInfoFilePath; @@ -32,34 +32,45 @@ namespace UguiToolkit.Editor.Windows // 打开编辑界面 EditWindow.ShowWindow(null); - if (m_panelCache == null) - { - var targetImgDirPath = PanelCache.GetTargetImgDirPath(m_layoutInfoFilePath); - float distanceDifference = GlobalManager.Instance.setting.distanceDifference; - CacheScriptObject.CalcRotScaleInfos(m_srcImgDirPath, targetImgDirPath, distanceDifference, (rotScaleInfos) => - { - if (!stageManager) return; + //if (m_panelCache == null) + //{ + // var targetImgDirPath = PanelCache.GetTargetImgDirPath(m_layoutInfoFilePath); + // float distanceDifference = GlobalManager.Instance.setting.distanceDifference; + // CacheScriptObject.CalcRotScaleInfos(m_srcImgDirPath, targetImgDirPath, distanceDifference, (rotScaleInfos) => + // { + // if (!stageManager) return; - var panelCache = new PanelCache(m_srcImgDirPath, m_layoutInfoFilePath); + // var panelCache = new PanelCache(m_srcImgDirPath, m_layoutInfoFilePath); - panelCache.rotScaleInfos = rotScaleInfos; - panelCache.layoutInfo = CacheScriptObject.PaserLayout(m_layoutInfoFilePath, targetImgDirPath); + // panelCache.rotScaleInfos = rotScaleInfos; + // panelCache.layoutInfo = CacheScriptObject.PaserLayout(m_layoutInfoFilePath, targetImgDirPath); - // 保存缓存 - GlobalManager.Instance.SaveCache(m_prefab, panelCache); + // // 保存缓存 + // GlobalManager.Instance.SaveCache(m_prefab, panelCache); - var entityManager = stageManager.CreateSubManager(); - entityManager.InitAllEntity(panelCache); + // var entityManager = stageManager.CreateSubManager(); + // entityManager.InitAllEntity(panelCache); - }); + // }); - CloseWindow(); - } - else { - var entityManager = stageManager.CreateSubManager(); - entityManager.InitAllEntity(m_panelCache); - CloseWindow(); - } + // CloseWindow(); + //} + //else { + // var entityManager = stageManager.CreateSubManager(); + // entityManager.InitAllEntity(m_panelCache); + // CloseWindow(); + //} + + var targetImgDirPath = PanelCache.GetTargetImgDirPath(m_layoutInfoFilePath); + var panelCache = new PanelCache(m_layoutInfoFilePath); + panelCache.layoutInfo = CacheScriptObject.PaserLayout(m_layoutInfoFilePath, targetImgDirPath); + + // 保存缓存 + GlobalManager.Instance.SaveCache(m_prefab, panelCache); + + var entityManager = stageManager.CreateSubManager(); + entityManager.InitAllEntity(panelCache); + CloseWindow(); } public override string GettitleContent() @@ -76,7 +87,7 @@ namespace UguiToolkit.Editor.Windows var cache = GlobalManager.Instance.cache; if (cache.panelCaches.TryGetValue(m_prefab, out m_panelCache)) { - m_srcImgDirPath = m_panelCache.srcImgDirPath; + // m_srcImgDirPath = m_panelCache.srcImgDirPath; m_layoutInfoFilePath = m_panelCache.layoutInfoFilePath; } }