public class MenuUtils
{
[MenuItem("CONTEXT/RawImage/2 Image Slice(Dis Raycast)")]
static void ChangeRaw2ImageDisRaycast(MenuCommand cmd)
{
var img = ChangeRaw2Image(cmd);
img.raycastTarget = false;
}
[MenuItem("CONTEXT/RawImage/2 Image Slice")]
static Image ChangeRaw2Image(MenuCommand cmd)
{
var rawImage = cmd.context as RawImage;
var path = AssetDatabase.GetAssetPath(rawImage.mainTexture);
var go = rawImage.gameObject;
Object.DestroyImmediate(rawImage);
var img = go.AddComponent<Image>();
img.type = Image.Type.Sliced;
img.sprite = AssetDatabase.LoadAssetAtPath<Sprite>(path);
string optmizeMatPath = AssetDatabase.GUIDToAssetPath("");
if (optmizeMatPath != "")
{
var mat = AssetDatabase.LoadAssetAtPath<Material>(optmizeMatPath);
if (mat != null)
img.material = mat;
}
EditorUtility.SetDirty(go);
return img;
}
}
Unity代码分享Editor编辑器扩展Image和RawImage的相互转化
最新推荐文章于 2024-05-24 09:32:26 发布