diff --git a/UnityProject/Assets/TEngine/Editor/Postprocessor/SpritePostprocessor.cs b/UnityProject/Assets/TEngine/Editor/Postprocessor/SpritePostprocessor.cs
index 868c17a0..0e3546c2 100644
--- a/UnityProject/Assets/TEngine/Editor/Postprocessor/SpritePostprocessor.cs
+++ b/UnityProject/Assets/TEngine/Editor/Postprocessor/SpritePostprocessor.cs
@@ -1,3 +1,534 @@
+// using System;
+// using System.Collections.Generic;
+// using System.IO;
+// using UnityEditor;
+// using UnityEditor.U2D;
+// using UnityEngine;
+// using UnityEngine.U2D;
+// using Object = UnityEngine.Object;
+//
+// ///
+// /// 图集导入管线。
+// ///
+// public class SpritePostprocessor : AssetPostprocessor
+// {
+// static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
+// {
+// foreach (var s in importedAssets)
+// {
+// EditorSpriteSaveInfo.OnImportSprite(s);
+// }
+//
+// foreach (var s in deletedAssets)
+// {
+// EditorSpriteSaveInfo.OnDeleteSprite(s);
+// }
+//
+// foreach (var s in movedFromAssetPaths)
+// {
+// EditorSpriteSaveInfo.OnDeleteSprite(s);
+// }
+//
+// foreach (var s in movedAssets)
+// {
+// EditorSpriteSaveInfo.OnImportSprite(s);
+// }
+// }
+// }
+//
+// public static class EditorSpriteSaveInfo
+// {
+// private const string NORMAL_ATLAS_DIR = "Assets/AssetArt/Atlas";
+// private const string UI_SPRITE_PATH = "Assets/AssetRaw/UIRaw";
+// private const string UI_ATLAS_PATH = "Assets/AssetRaw/UIRaw/Atlas";
+// private const string UI_RAW_PATH = "Assets/AssetRaw/UIRaw/UIRaw";
+// private static readonly List _dirtyAtlasList = new List();
+// private static readonly Dictionary> _allASprites = new Dictionary>();
+// private static readonly Dictionary _uiAtlasMap = new Dictionary();
+// private static bool _inited = false;
+// private static bool m_dirty = false;
+//
+// public static void Init()
+// {
+// if (_inited)
+// {
+// return;
+// }
+//
+// EditorApplication.update += CheckDirty;
+//
+// //读取所有图集信息
+// string[] findAssets = AssetDatabase.FindAssets("t:SpriteAtlas", new[] { NORMAL_ATLAS_DIR });
+// foreach (var findAsset in findAssets)
+// {
+// var path = AssetDatabase.GUIDToAssetPath(findAsset);
+// SpriteAtlas sa = AssetDatabase.LoadAssetAtPath(path, typeof(SpriteAtlas)) as SpriteAtlas;
+// if (sa == null)
+// {
+// Debug.LogError($"加载图集数据{path}失败");
+// continue;
+// }
+//
+// string atlasName = Path.GetFileNameWithoutExtension(path);
+// var objects = sa.GetPackables();
+// foreach (var o in objects)
+// {
+// if (!_allASprites.TryGetValue(atlasName, out var list))
+// {
+// list = new List();
+// _allASprites.Add(atlasName, list);
+// }
+//
+// list.Add(AssetDatabase.GetAssetPath(o));
+// }
+// }
+//
+// _inited = true;
+// }
+//
+// public static void CheckDirty()
+// {
+// if (m_dirty)
+// {
+// m_dirty = false;
+//
+// AssetDatabase.Refresh();
+// float lastProgress = -1;
+// for (int i = 0; i < _dirtyAtlasList.Count; i++)
+// {
+// string atlasName = _dirtyAtlasList[i];
+// Debug.Log("更新图集 : " + atlasName);
+// var curProgress = (float)i / _dirtyAtlasList.Count;
+// if (curProgress > lastProgress + 0.01f)
+// {
+// lastProgress = curProgress;
+// var progressText = $"当前进度:{i}/{_dirtyAtlasList.Count} {atlasName}";
+// bool cancel = EditorUtility.DisplayCancelableProgressBar("刷新图集" + atlasName, progressText, curProgress);
+// if (cancel)
+// {
+// break;
+// }
+// }
+//
+// bool isUI = atlasName.StartsWith("UIRaw");
+// SaveAtlas(atlasName, isUI);
+// }
+//
+// EditorUtility.ClearProgressBar();
+// AssetDatabase.SaveAssets();
+// AssetDatabase.Refresh();
+// _dirtyAtlasList.Clear();
+// }
+// }
+//
+// public static void OnImportSprite(string assetPath)
+// {
+// if (!assetPath.StartsWith(UI_SPRITE_PATH))
+// {
+// return;
+// }
+//
+// TextureImporter ti = AssetImporter.GetAtPath(assetPath) as TextureImporter;
+//
+// if (ti != null)
+// {
+// var modify = false;
+//
+// if (assetPath.StartsWith(UI_SPRITE_PATH))
+// {
+// if (ti.textureType != TextureImporterType.Sprite)
+// {
+// ti.textureType = TextureImporterType.Sprite;
+// modify = true;
+// }
+//
+// if (!string.IsNullOrEmpty(ti.spritePackingTag))
+// {
+// ti.spritePackingTag = string.Empty;
+// modify = true;
+// }
+//
+// var setting = new TextureImporterSettings();
+// ti.ReadTextureSettings(setting);
+// if (setting.spriteGenerateFallbackPhysicsShape)
+// {
+// setting.spriteGenerateFallbackPhysicsShape = false;
+// ti.SetTextureSettings(setting);
+// modify = true;
+// }
+//
+// if (IsKeepRawImage(assetPath))
+// {
+// //调整android格式
+// var andPlatformSettings = ti.GetPlatformTextureSettings("Android");
+// if (!andPlatformSettings.overridden)
+// {
+// andPlatformSettings.overridden = true;
+// modify = true;
+// }
+//
+// if (andPlatformSettings.format != TextureImporterFormat.ASTC_6x6)
+// {
+// andPlatformSettings.format = TextureImporterFormat.ASTC_6x6;
+// ti.SetPlatformTextureSettings(andPlatformSettings);
+// modify = true;
+// }
+//
+// //调整ios格式
+// var iosPlatformSettings = ti.GetPlatformTextureSettings("iPhone");
+// if (!iosPlatformSettings.overridden)
+// {
+// iosPlatformSettings.overridden = true;
+// modify = true;
+// }
+//
+// if (iosPlatformSettings.format != TextureImporterFormat.ASTC_5x5)
+// {
+// iosPlatformSettings.format = TextureImporterFormat.ASTC_5x5;
+// iosPlatformSettings.compressionQuality = 50;
+// ti.SetPlatformTextureSettings(iosPlatformSettings);
+// modify = true;
+// }
+// }
+// }
+//
+// if (modify)
+// {
+// ti.SaveAndReimport();
+// }
+//
+// if (ti.textureType == TextureImporterType.Sprite)
+// {
+// OnProcessSprite(assetPath);
+// }
+// }
+// }
+//
+// ///
+// /// 是否保持散图(不打图集)
+// ///
+// ///
+// ///
+// public static bool IsKeepRawImage(string dirPath)
+// {
+// return dirPath.Contains("UIRaw/Raw/") || dirPath.Contains("UIRaw_Raw_");
+// }
+//
+// public static string GetSpritePath(string assetPath)
+// {
+// string path = assetPath.Substring(0, assetPath.LastIndexOf(".", StringComparison.Ordinal));
+// path = path.Replace("Assets/AssetRaw/", "");
+// return path;
+// }
+//
+// ///
+// /// 根据文件路径,返回图集名称
+// ///
+// ///
+// ///
+// public static string GetPackageTag(string fullName)
+// {
+// fullName = fullName.Replace("\\", "/");
+// int idx = fullName.LastIndexOf("UIRaw", StringComparison.Ordinal);
+// if (idx == -1)
+// {
+// return "";
+// }
+//
+// if (IsKeepRawImage(fullName))
+// {
+// return "";
+// }
+//
+// var atlasPath = fullName.Substring(idx);
+// string str = atlasPath;
+// str = str.Substring(0, str.LastIndexOf("/", StringComparison.Ordinal)).Replace("/", "_");
+//
+// return str;
+// }
+//
+// public static void OnProcessSprite(string assetPath)
+// {
+// if (!assetPath.StartsWith("Assets"))
+// {
+// return;
+// }
+//
+// if (assetPath.StartsWith("Assets/UIRaw_Delete"))
+// {
+// return;
+// }
+//
+// Init();
+//
+// var spriteName = Path.GetFileNameWithoutExtension(assetPath);
+// var spritePath = GetSpritePath(assetPath);
+// if (!_uiAtlasMap.TryGetValue(spriteName, out string oldAssetPath) || spritePath == oldAssetPath)
+// {
+// _uiAtlasMap[spriteName] = spritePath;
+// m_dirty = true;
+// }
+// else
+// {
+// Debug.LogError($"有重名的图片:{spriteName}\n旧图集:{oldAssetPath}\n新图集:{spritePath} ");
+// _uiAtlasMap[spriteName] = spritePath;
+// m_dirty = true;
+// }
+//
+// string atlasName = GetPackageTag(assetPath);
+// if (string.IsNullOrEmpty(atlasName))
+// {
+// bool keepRaw = IsKeepRawImage(assetPath);
+// if (!keepRaw)
+// {
+// Debug.LogError($"empty packingTag of asset :{assetPath} !!!");
+// }
+//
+// return;
+// }
+// else
+// {
+// List ret;
+// if (!_allASprites.TryGetValue(atlasName, out ret))
+// {
+// ret = new List();
+// _allASprites.Add(atlasName, ret);
+// }
+//
+// if (!ret.Contains(assetPath))
+// {
+// ret.Add(assetPath);
+// m_dirty = true;
+// if (!_dirtyAtlasList.Contains(atlasName))
+// {
+// _dirtyAtlasList.Add(atlasName);
+// }
+// }
+// }
+// }
+//
+// public static void OnDeleteSprite(string assetPath)
+// {
+// if (assetPath.StartsWith("Assets/UIRaw_Delete"))
+// {
+// return;
+// }
+//
+// if (!assetPath.StartsWith(UI_SPRITE_PATH))
+// {
+// return;
+// }
+//
+// Init();
+// string atlasName = GetPackageTag(assetPath);
+// if (!_allASprites.TryGetValue(atlasName, out var ret))
+// {
+// return;
+// }
+//
+// //改成文件名的匹配
+// if (!ret.Exists(s => Path.GetFileName(s) == Path.GetFileName(assetPath)))
+// {
+// return;
+// }
+//
+// if (assetPath.StartsWith(UI_SPRITE_PATH))
+// {
+// var spriteName = Path.GetFileNameWithoutExtension(assetPath);
+// if (_uiAtlasMap.ContainsKey(spriteName))
+// {
+// _uiAtlasMap.Remove(spriteName);
+// m_dirty = true;
+// }
+// }
+//
+// ret.Remove(assetPath);
+// m_dirty = true;
+// if (!_dirtyAtlasList.Contains(atlasName))
+// {
+// _dirtyAtlasList.Add(atlasName);
+// }
+// }
+//
+// #region 更新图集
+//
+// public static void SaveAtlas(string atlasName, bool isUI)
+// {
+// List