FR2_Icon.cs 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEditor;
  5. public static class FR2_Icon
  6. {
  7. public static GUIContent Lock { get { return TryGet("LockIcon-On"); } }
  8. public static GUIContent Unlock { get { return TryGet("LockIcon"); } }
  9. #if UNITY_2019_3_OR_NEWER
  10. public static GUIContent Refresh { get { return TryGet("d_Refresh@2x"); } }
  11. #else
  12. public static GUIContent Refresh { get { return TryGet("LookDevResetEnv"); } }
  13. #endif
  14. public static GUIContent Selection { get { return TryGet("d_RectTransformBlueprint"); } }
  15. public static GUIContent Favorite { get { return TryGet("d_Favorite"); } }
  16. public static GUIContent Setting { get { return TryGet("d_SettingsIcon"); } }
  17. public static GUIContent Ignore { get { return TryGet("ShurikenCheckMarkMixed"); } }
  18. public static GUIContent Plus
  19. {
  20. get { return TryGet("ShurikenPlus"); }
  21. }
  22. public static GUIContent Visibility { get { return TryGet("ClothInspector.ViewValue"); } }
  23. #if UNITY_2019_3_OR_NEWER
  24. public static GUIContent Panel { get { return TryGet("VerticalSplit"); } }
  25. #else
  26. public static GUIContent Panel { get { return TryGet("d_LookDevSideBySide"); } }
  27. #endif
  28. public static GUIContent Layout { get { return TryGet("FreeformLayoutGroup Icon"); } }
  29. public static GUIContent Sort { get { return TryGet("AlphabeticalSorting"); } } //d_DefaultSorting
  30. #if UNITY_2019_3_OR_NEWER
  31. public static GUIContent Filter { get { return TryGet("d_ToggleUVOverlay@2x"); } }
  32. #else
  33. public static GUIContent Filter { get { return TryGet("LookDevSplit"); } }
  34. #endif
  35. public static GUIContent Group { get { return TryGet("EditCollider"); } }
  36. public static GUIContent Delete { get { return TryGet("d_TreeEditor.Trash"); } }
  37. public static GUIContent Split { get { return TryGet("VerticalSplit"); } }
  38. public static GUIContent Close { get { return TryGet("LookDevClose"); } }
  39. public static GUIContent Prefab { get { return TryGet("d_Prefab Icon"); } }
  40. public static GUIContent Asset { get { return TryGet("Folder Icon"); } }
  41. public static GUIContent Filesize { get { return TryGet("SavePassive"); } }
  42. public static GUIContent AssetBundle { get { return TryGet("CloudConnect"); } }
  43. public static GUIContent Script { get { return TryGet("dll Script Icon"); } }
  44. public static GUIContent Material { get { return TryGet("d_TreeEditor.Material"); } }
  45. public static GUIContent Scene { get { return TryGet("SceneAsset Icon"); } }
  46. #if UNITY_2017_1_OR_NEWER
  47. public static GUIContent Atlas { get { return TryGet("SpriteAtlas Icon"); } }
  48. #endif
  49. public static GUIContent Folder { get { return TryGet("Project"); } }
  50. public static GUIContent Hierarchy { get { return TryGet("UnityEditor.HierarchyWindow"); } }
  51. private static readonly Dictionary<string, GUIContent> _cache = new Dictionary<string, GUIContent>();
  52. static GUIContent TryGet(string id)
  53. {
  54. GUIContent result;
  55. if (_cache.TryGetValue(id, out result)) return result ?? GUIContent.none;
  56. var icon = EditorGUIUtility.IconContent(id) ?? new GUIContent(Texture2D.whiteTexture);
  57. _cache.Add(id, icon);
  58. return icon;
  59. }
  60. }