private static void ProjectWindowItemOnGUI_Scripts(Rect rect, string assetName) { if (!assetName.EndsWith(".cs", StringComparison.CurrentCultureIgnoreCase)) { return; } var script = AssetDatabase.LoadAssetAtPath <MonoScript>(assetName); if (script == null) { return; } var scriptIcon = EditorGUIUtility.ObjectContent(null, typeof(MonoScript)).image; var icon = AutoGizmo.Editor_GetIcon(script); if (icon == null || scriptIcon == icon || scriptIcon == null) { return; } Rect iconRect = new Rect(rect.x - 5, rect.y + 5, 32, rect.height - 5); GUI.DrawTexture(iconRect, scriptIcon, ScaleMode.ScaleToFit, true, (float)scriptIcon.width / scriptIcon.height); }
private static void ProjectWindowItemOnGUI_Prefabs(Rect rect, string assetName) { if (!assetName.EndsWith(".prefab", StringComparison.CurrentCultureIgnoreCase)) { return; } var go = AssetDatabase.LoadAssetAtPath <GameObject>(assetName); if (go == null) { return; } var texture = AutoGizmo.Editor_GetIcon(go); if (texture == null) { return; } Rect iconRect = new Rect(rect.x - 5, rect.y + 5, 30, rect.height - 5); GUI.DrawTexture(iconRect, texture, ScaleMode.ScaleToFit, true, (float)texture.width / texture.height); }
private void HeirachyWindowItemOnGUI(int instanceid, Rect rect) { if (EditorApplication.isPlayingOrWillChangePlaymode) { return; } var obj = EditorUtility.InstanceIDToObject(instanceid); if (obj == null) { return; } var go = obj as GameObject; if (go == null) { return; } var texture = AutoGizmo.Editor_GetIcon(go); if (texture == null) { return; } Rect iconRect = new Rect(rect.x + (EditorGUI.indentLevel - 1) * 35, rect.y, 30, rect.height); GUI.DrawTexture(iconRect, texture, ScaleMode.ScaleToFit, true, (float)texture.width / texture.height); }