using UnityEngine; using UnityEditor; using System.Collections; using UnityEngine.UI; public class GameObjectMenuExtension { [MenuItem("GameObject/UI/ImageToImageEx &5")] static void CreateTextEx() { for (var i=0;i(); if (image != null) { var sprite = image.overrideSprite; var color = image.color; var material = image.material; var raycast = image.raycastTarget; var imageType = image.type; var fillOrigin = image.fillOrigin; var fillClockWise = image.fillClockwise; var fillMethod = image.fillMethod; var fillCenter = image.fillCenter; var preserveAspect = image.preserveAspect; var fillAmount = image.fillAmount; Component.DestroyImmediate(image); var imageEx = gameObject.AddMissingComponent(); imageEx.sprite = sprite; imageEx.color = color; imageEx.material = material; imageEx.raycastTarget = raycast; imageEx.type = imageType; imageEx.fillOrigin = fillOrigin; imageEx.fillClockwise = fillClockWise; imageEx.fillMethod = fillMethod; imageEx.fillCenter = fillCenter; imageEx.preserveAspect = preserveAspect; imageEx.fillAmount = fillAmount; } } } [InitializeOnLoadMethod] static void StartInitializeOnLoadMethod() { //EditorApplication.hierarchyWindowItemOnGUI += OnHierarchyGUI; } static void OnHierarchyGUI(int instanceID, Rect selectionRect) { if (Event.current != null && selectionRect.Contains(Event.current.mousePosition) && Event.current.button == 1 && Event.current.type <= EventType.MouseUp) { var selectedGameObject = EditorUtility.InstanceIDToObject(instanceID) as GameObject; if (selectedGameObject) { if (selectedGameObject.GetComponent()) { //Vector2 mousePosition = Event.current.mousePosition; //EditorUtility.DisplayPopupMenu(new Rect(mousePosition.x, mousePosition.y, 0, 0), "GameObject/UICustom", null); //Event.current.Use(); } } } } }