public static EditorTexture Icon(this UnityObject obj) { var icon = (Texture2D)EditorGUIUtility.ObjectContent(obj, obj?.GetType()).image; if (icon != null) { return(EditorTexture.Single(icon)); } return(null); }
private static EditorTexture GetBuiltInUnityTypeIcon(Type type) { var icon = (Texture2D)EditorGUIUtility.ObjectContent(null, type).image; // Change the blank file icon to a Unity-logo file icon if (icon == EditorGUIUtility.FindTexture("DefaultAsset Icon")) { icon = EditorGUIUtility.FindTexture("ScriptableObject Icon"); } if (icon != null) { return(EditorTexture.Single(icon)); } return(null); }
private static EditorTexture GetScriptTypeIcon(string scriptName) { var scriptObject = (UnityObject)EditorGUIUtility_GetScriptObjectFromClass.Invoke(null, new object[] { scriptName }); if (scriptObject != null) { var scriptIcon = (Texture2D)EditorGUIUtility_GetIconForObject.Invoke(null, new object[] { scriptObject }); if (scriptIcon != null) { return(EditorTexture.Single(scriptIcon)); } } var scriptPath = AssetDatabase.GetAssetPath(scriptObject); if (scriptPath != null) { switch (Path.GetExtension(scriptPath)) { case ".js": return(EditorTexture.Single((Texture2D)EditorGUIUtility.IconContent("js Script Icon").image)); case ".cs": return(EditorTexture.Single((Texture2D)EditorGUIUtility.IconContent("cs Script Icon").image)); case ".boo": return(EditorTexture.Single((Texture2D)EditorGUIUtility.IconContent("boo Script Icon").image)); } } return(null); }
public Root(GUIContent header) { label = header.text; icon = EditorTexture.Single(header.image); }