优化导入
This commit is contained in:
parent
125df0ba8a
commit
d9030c8e89
@ -7,7 +7,7 @@ namespace UguiToolkit.Editor
|
|||||||
public const string SettingFilePath = WorkspaceDirPath + "/setting.asset";
|
public const string SettingFilePath = WorkspaceDirPath + "/setting.asset";
|
||||||
public const string CacheFilePath = WorkspaceDirPath + "/cache.asset";
|
public const string CacheFilePath = WorkspaceDirPath + "/cache.asset";
|
||||||
public const string RotScaleInfoFilePath = "Temp/result_rot_scale.json";
|
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";
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,12 +16,14 @@ namespace UguiToolkit.Editor
|
|||||||
var rotScaleInfoToolFilePath = Path.GetFullPath(EditorConst.RotScaleInfoToolFilePath);
|
var rotScaleInfoToolFilePath = Path.GetFullPath(EditorConst.RotScaleInfoToolFilePath);
|
||||||
if (File.Exists(rotScaleInfoFilePath)) File.Delete(rotScaleInfoFilePath);
|
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,
|
rotScaleInfoToolFilePath,
|
||||||
Path.GetFullPath(srcImgDirPath),
|
Path.GetFullPath(srcImgDirPath),
|
||||||
Path.GetFullPath(targetImgDirPath),
|
Path.GetFullPath(targetImgDirPath),
|
||||||
distanceDifference,
|
distanceDifference,
|
||||||
Path.GetFullPath(rotScaleInfoFilePath)), (output, error) =>
|
Path.GetFullPath(rotScaleInfoFilePath));
|
||||||
|
Debug.Log("cmd: " + cmd);
|
||||||
|
_ = RunCmdAsync(cmd, (output, error) =>
|
||||||
{
|
{
|
||||||
Debug.Log(output);
|
Debug.Log(output);
|
||||||
if (!File.Exists(rotScaleInfoFilePath))
|
if (!File.Exists(rotScaleInfoFilePath))
|
||||||
@ -50,6 +52,8 @@ namespace UguiToolkit.Editor
|
|||||||
p.StartInfo.CreateNoWindow = true;
|
p.StartInfo.CreateNoWindow = true;
|
||||||
p.StartInfo.RedirectStandardOutput = true;
|
p.StartInfo.RedirectStandardOutput = true;
|
||||||
p.StartInfo.RedirectStandardError = true;
|
p.StartInfo.RedirectStandardError = true;
|
||||||
|
p.StartInfo.StandardOutputEncoding = System.Text.Encoding.UTF8;
|
||||||
|
p.StartInfo.StandardErrorEncoding = System.Text.Encoding.UTF8;
|
||||||
|
|
||||||
p.Start();
|
p.Start();
|
||||||
var output = p.StandardOutput.ReadToEnd();
|
var output = p.StandardOutput.ReadToEnd();
|
||||||
@ -70,6 +74,8 @@ namespace UguiToolkit.Editor
|
|||||||
p.StartInfo.CreateNoWindow = true;
|
p.StartInfo.CreateNoWindow = true;
|
||||||
p.StartInfo.RedirectStandardOutput = true;
|
p.StartInfo.RedirectStandardOutput = true;
|
||||||
p.StartInfo.RedirectStandardError = true;
|
p.StartInfo.RedirectStandardError = true;
|
||||||
|
p.StartInfo.StandardOutputEncoding = System.Text.Encoding.UTF8;
|
||||||
|
p.StartInfo.StandardErrorEncoding = System.Text.Encoding.UTF8;
|
||||||
|
|
||||||
p.Start();
|
p.Start();
|
||||||
|
|
||||||
|
@ -124,13 +124,13 @@ namespace UguiToolkit.Editor
|
|||||||
{
|
{
|
||||||
if (m_checkImgPaths == null) m_checkImgPaths = new HashSet<string>();
|
if (m_checkImgPaths == null) m_checkImgPaths = new HashSet<string>();
|
||||||
|
|
||||||
var images = m_stageManager.PrefabContentsRoot.GetComponentsInChildren<UnityEngine.UI.Image>();
|
//var images = m_stageManager.PrefabContentsRoot.GetComponentsInChildren<UnityEngine.UI.Image>();
|
||||||
foreach (var image in images)
|
//foreach (var image in images)
|
||||||
{
|
//{
|
||||||
if (image.sprite == null) continue;
|
// if (image.sprite == null) continue;
|
||||||
var srcImgPath = AssetDatabase.GetAssetPath(image.sprite);
|
// var srcImgPath = AssetDatabase.GetAssetPath(image.sprite);
|
||||||
m_checkImgPaths.Add(srcImgPath);
|
// m_checkImgPaths.Add(srcImgPath);
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdatePanelCache(string srcImgDirPath, string targetImgDirPath)
|
private void UpdatePanelCache(string srcImgDirPath, string targetImgDirPath)
|
||||||
|
@ -79,8 +79,8 @@ namespace UguiToolkit.Editor
|
|||||||
[Serializable]
|
[Serializable]
|
||||||
public class PanelCache
|
public class PanelCache
|
||||||
{
|
{
|
||||||
[LabelText("源图片文件夹路径"), FolderPath]
|
//[LabelText("源图片文件夹路径"), FolderPath]
|
||||||
public string srcImgDirPath;
|
//public string srcImgDirPath;
|
||||||
[LabelText("目标图片信息文件(psd导出)"), FolderPath]
|
[LabelText("目标图片信息文件(psd导出)"), FolderPath]
|
||||||
public string layoutInfoFilePath; // Sample.layout.txt
|
public string layoutInfoFilePath; // Sample.layout.txt
|
||||||
[LabelText("目标图片文件夹路径")]
|
[LabelText("目标图片文件夹路径")]
|
||||||
@ -111,9 +111,10 @@ namespace UguiToolkit.Editor
|
|||||||
private string m_targetImgDirPath;
|
private string m_targetImgDirPath;
|
||||||
private PanelCache() { }
|
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.layoutInfoFilePath = layoutInfoFilePath;
|
||||||
|
|
||||||
this.m_targetImgDirPath = GetTargetImgDirPath(layoutInfoFilePath);
|
this.m_targetImgDirPath = GetTargetImgDirPath(layoutInfoFilePath);
|
||||||
|
@ -14,8 +14,8 @@ namespace UguiToolkit.Editor.Windows
|
|||||||
public class PanelCacheWindow : BaseWindow<PanelCacheWindow>
|
public class PanelCacheWindow : BaseWindow<PanelCacheWindow>
|
||||||
{
|
{
|
||||||
|
|
||||||
[LabelText("源图片文件夹路径"), FolderPath, SerializeField]
|
//[LabelText("源图片文件夹路径"), FolderPath, SerializeField]
|
||||||
private string m_srcImgDirPath;
|
//private string m_srcImgDirPath;
|
||||||
[LabelText("目标图片信息文件(psd导出)"), Sirenix.OdinInspector.FilePath(Extensions = "layout.txt"), SerializeField]
|
[LabelText("目标图片信息文件(psd导出)"), Sirenix.OdinInspector.FilePath(Extensions = "layout.txt"), SerializeField]
|
||||||
private string m_layoutInfoFilePath;
|
private string m_layoutInfoFilePath;
|
||||||
|
|
||||||
@ -32,34 +32,45 @@ namespace UguiToolkit.Editor.Windows
|
|||||||
// 打开编辑界面
|
// 打开编辑界面
|
||||||
EditWindow.ShowWindow(null);
|
EditWindow.ShowWindow(null);
|
||||||
|
|
||||||
if (m_panelCache == null)
|
//if (m_panelCache == null)
|
||||||
{
|
//{
|
||||||
var targetImgDirPath = PanelCache.GetTargetImgDirPath(m_layoutInfoFilePath);
|
// var targetImgDirPath = PanelCache.GetTargetImgDirPath(m_layoutInfoFilePath);
|
||||||
float distanceDifference = GlobalManager.Instance.setting.distanceDifference;
|
// float distanceDifference = GlobalManager.Instance.setting.distanceDifference;
|
||||||
CacheScriptObject.CalcRotScaleInfos(m_srcImgDirPath, targetImgDirPath, distanceDifference, (rotScaleInfos) =>
|
// CacheScriptObject.CalcRotScaleInfos(m_srcImgDirPath, targetImgDirPath, distanceDifference, (rotScaleInfos) =>
|
||||||
{
|
// {
|
||||||
if (!stageManager) return;
|
// if (!stageManager) return;
|
||||||
|
|
||||||
var panelCache = new PanelCache(m_srcImgDirPath, m_layoutInfoFilePath);
|
// var panelCache = new PanelCache(m_srcImgDirPath, m_layoutInfoFilePath);
|
||||||
|
|
||||||
panelCache.rotScaleInfos = rotScaleInfos;
|
// panelCache.rotScaleInfos = rotScaleInfos;
|
||||||
panelCache.layoutInfo = CacheScriptObject.PaserLayout(m_layoutInfoFilePath, targetImgDirPath);
|
// panelCache.layoutInfo = CacheScriptObject.PaserLayout(m_layoutInfoFilePath, targetImgDirPath);
|
||||||
|
|
||||||
// 保存缓存
|
// // 保存缓存
|
||||||
GlobalManager.Instance.SaveCache(m_prefab, panelCache);
|
// GlobalManager.Instance.SaveCache(m_prefab, panelCache);
|
||||||
|
|
||||||
var entityManager = stageManager.CreateSubManager<EntityManager>();
|
// var entityManager = stageManager.CreateSubManager<EntityManager>();
|
||||||
entityManager.InitAllEntity(panelCache);
|
// entityManager.InitAllEntity(panelCache);
|
||||||
|
|
||||||
});
|
// });
|
||||||
|
|
||||||
CloseWindow();
|
// CloseWindow();
|
||||||
}
|
//}
|
||||||
else {
|
//else {
|
||||||
var entityManager = stageManager.CreateSubManager<EntityManager>();
|
// var entityManager = stageManager.CreateSubManager<EntityManager>();
|
||||||
entityManager.InitAllEntity(m_panelCache);
|
// entityManager.InitAllEntity(m_panelCache);
|
||||||
CloseWindow();
|
// 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>();
|
||||||
|
entityManager.InitAllEntity(panelCache);
|
||||||
|
CloseWindow();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GettitleContent()
|
public override string GettitleContent()
|
||||||
@ -76,7 +87,7 @@ namespace UguiToolkit.Editor.Windows
|
|||||||
var cache = GlobalManager.Instance.cache;
|
var cache = GlobalManager.Instance.cache;
|
||||||
if (cache.panelCaches.TryGetValue(m_prefab, out m_panelCache))
|
if (cache.panelCaches.TryGetValue(m_prefab, out m_panelCache))
|
||||||
{
|
{
|
||||||
m_srcImgDirPath = m_panelCache.srcImgDirPath;
|
// m_srcImgDirPath = m_panelCache.srcImgDirPath;
|
||||||
m_layoutInfoFilePath = m_panelCache.layoutInfoFilePath;
|
m_layoutInfoFilePath = m_panelCache.layoutInfoFilePath;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user