| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | 
							- using System.Collections.Generic;
 
- using System.IO;
 
- using UnityEditor;
 
- using UnityEditor.UI;
 
- using UnityEngine;
 
- using UnityEngine.U2D;
 
- using UnityEngine.UI.PackgTool;
 
- namespace UnityEditor.UI
 
- {
 
-     public class UGUISelectSpriteAtlasWindow : EditorWindow
 
-     {
 
-         private static System.Action<SpriteAtlas, Sprite> callBack;
 
-         private static string jsonPackPath;
 
-         private static string spriteAtlasPath = "/Res/UIAtlas";
 
-         float mClickTime = 0f;
 
-         private static List<SpriteAtlas> currSelectSpriteAtlas = new List<SpriteAtlas>();
 
-         private static Sprite currSelectSprite;
 
-         private static PackInfo packInfo;
 
-         public static void OpenWidow(PackInfo packInfo, Sprite sprite, List<SpriteAtlas> currSelectSpriteAtlas, System.Action<SpriteAtlas, Sprite> callBack)
 
-         {
 
-             UGUISelectSpriteAtlasWindow.packInfo = packInfo;
 
-             UGUISelectSpriteAtlasWindow.currSelectSpriteAtlas = currSelectSpriteAtlas;
 
-             currSelectSprite = sprite;
 
-             jsonPackPath = packInfo.packgJsonPath;
 
-             UGUISelectSpriteAtlasWindow.callBack = callBack;
 
-             UGUISelectSpriteAtlasWindow window = EditorWindow.GetWindow<UGUISelectSpriteAtlasWindow>();
 
-             window.name = "选择一个一个当前图片";
 
-             window.Show();
 
-         }
 
-         Vector2 pos = Vector2.zero;
 
-         private void GUISpriteAtlas()
 
-         {
 
-             if (currSelectSprite != null)
 
-             {
 
-                 GUI.DrawTexture(new Rect(EditorGUIUtility.currentViewWidth / 2 - 64, 0, 128, 128), currSelectSprite.texture);
 
-             }
 
-             GUILayout.Space(150);
 
-             GUILayout.Label($"请选择{currSelectSprite.name}需要使用的图集");
 
-             pos = GUILayout.BeginScrollView(pos);
 
-             if (currSelectSpriteAtlas != null)
 
-             {
 
-                 for (int i = 0; i < currSelectSpriteAtlas.Count; i++)
 
-                 {
 
-                     if (GUILayout.Button(currSelectSpriteAtlas[i].name))
 
-                     {
 
-                         GUILayout.EndScrollView();
 
-                         callBack?.Invoke(currSelectSpriteAtlas[i], currSelectSprite);
 
-                         Close();
 
-                         return;
 
-                     }
 
-                 }
 
-             }
 
-             GUILayout.EndScrollView();
 
-         }
 
-         void OnGUI()
 
-         {
 
-             GUISpriteAtlas();
 
-         }
 
-     }
 
- }
 
 
  |