移除 Missing(Mono Script)

`
private static void FindMissingReferences()

{
    GameObject[] pAllObjects = (GameObject[])Resources.FindObjectsOfTypeAll(typeof(GameObject));

    int r;
    int j;
    for (int i = 0; i < pAllObjects.Length; i++)
    {
        if (pAllObjects[i].hideFlags == HideFlags.None)//HideFlags.None 获取Hierarchy面板所有Object
        {
            var components = pAllObjects[i].GetComponents<Component>();
            var serializedObject = new SerializedObject(pAllObjects[i]);
            var prop = serializedObject.FindProperty("m_Component");
            r = 0;

            for (j = 0; j < components.Length; j++)
            {
                if (components[j] == null)
                {
                    prop.DeleteArrayElementAtIndex(j - r);
                    r++;
                }
            }
            serializedObject.ApplyModifiedProperties();
        }
    }
}

`

版权声明:本文为nuolo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/nuolo/p/13050971.html