// 是否处于预制件模式,获取预制件模式的预制件路径
PrefabStage prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
if (prefabStage != null) {
Debug.Log("处于预制件模式");
Debug.Log($"预制件模式修改的预制件路径:{prefabStage.prefabAssetPath}");
// 预制件模式下,在当前修改的预制件下创建 GameObject
var go = new GameObject("aa");
go.transform.parent = prefabStage.prefabContentsRoot.transform;
#region 在 UGUI 预制件下创建 Image
var parent = prefabStage.prefabContentsRoot.transform.Find("PanelJigSaw/SafeAreaGroup/RootGroup/Images10");
var inst = new GameObject($"Image (1)",typeof(RectTransform),typeof(Image));
inst.transform.SetParent(parent);
// 更改 Image 组件的 Sprite
var image = inst.GetComponent();
image.sprite = AssetDatabase.LoadAssetAtPath("Assets/Textures/PanelJigSaw/10/5.png");
image.SetNativeSize();
// 更改 Width 和 Height
var rectTransform = inst.GetComponent();
rectTransform.sizeDelta = rectTransform.sizeDelta * 0.28f;
#endregion 在 UGUI 预制件下创建 Image
}