IconContainer.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System;
  5. using UnityEngine.UI;
  6. using UnityEngine.Events;
  7. using UnityEngine.EventSystems;
  8. using System.IO;
  9. #if UNITY_EDITOR
  10. using UnityEditor;
  11. #endif
  12. /// <summary>
  13. /// 图标容器,保持图标的引用
  14. /// </summary>
  15. public class IconContainer : MonoBehaviour
  16. {
  17. /// <summary>
  18. /// 路径
  19. /// </summary>
  20. public string mPath = string.Empty;
  21. /// <summary>
  22. /// 资源引用
  23. /// </summary>
  24. public List<Sprite> mSpriteList = new List<Sprite>();
  25. /// <summary>
  26. /// 执行
  27. /// </summary>
  28. [ContextMenu("Execute")]
  29. public void Execute()
  30. {
  31. #if UNITY_EDITOR
  32. mSpriteList.Clear();
  33. // 获取指定目录下的所有 *.png 文件
  34. string[] files = Directory.GetFiles(mPath, "*.png", SearchOption.TopDirectoryOnly);
  35. for (int i = 0; i < files.Length; i++)
  36. {
  37. LogHelper.Log(files[i]);
  38. UnityEngine.Object obj = AssetDatabase.LoadAssetAtPath(files[i], typeof(Sprite));
  39. mSpriteList.Add((Sprite)obj);
  40. }
  41. #endif
  42. }
  43. }