public static void CreateSelection(){ if(Selection.objects == null || Selection.objects.Length == 0) { XLogger.Log("Selection objects must greater one!!"); return; } List<Sprite> sprites = new List<Sprite>(); List<Texture2D> textures = SelectionUtils.GetObjects<Texture2D>(); List<Sprite> tex2Sprite = XUtils.ToList<Texture2D, Sprite>(textures, (v)=>{ var objects = AssetDatabase.LoadAllAssetsAtPath(AssetDatabase.GetAssetPath(v)); for (int i = 0; i < objects.Length; i++) { var o = objects[i]; if(o is Sprite){ return o as Sprite; } } return null; }); sprites = tex2Sprite; tex2Sprite.AddRange(SelectionUtils.GetObjects<Sprite>()); if(sprites.Count == 0) { XLogger.Log("Selection sprites must greater one!!"); return; } var creator = InitWindow<SpriteAnimationCreator>(); creator.totalSprite = sprites; creator.InitPath(); }