// 在菜单来创建 选项 , 点击该选项执行搜索代码
[MenuItem("Assets/CheckPrefabAnchor修改预制体锚点", false, 10)]
static void CheckPrefabAnchor()
{
int num = 0;
GameObject[] gameObjects = Selection.gameObjects;
Debug.Log("本次遍历总数量" + gameObjects.Length);
foreach (var item in gameObjects)
{
if (!item.name.StartsWith("UI_"))//过滤条件
{
Debug.Log(item.name + "不符合锚点判断条件");
continue;
}
UIPanel[] uipanels = item.GetComponentsInChildren<UIPanel>(true);
foreach (UIPanel uipanel in uipanels)
{
if (uipanel.isAnchored)
{
uipanel.bottomAnchor.target = null;
uipanel.topAnchor.target = null;
uipanel.leftAnchor.target = null;
uipanel.rightAnchor.target = null;
Debug.Log(item.name + "/" + uipanel.name + "符合锚点祛除条件", item);
num += 1;
}
EditorUtility.SetDirty(uipanel);
}
}
Debug.Log("符合要求数量" + num);
AssetDatabase.SaveAssets();
}