最近在做本地化功能,需要遍历所有UI预制体,将含有中文的Text或者LText组件中含有中文的都新增多语言文本组件,并赋值对应的多语言id;
发现在先遍历到预制体A时,A中的某一节点是嵌套的预制体B,当遍历到预制体B时上一次添加的多语言组件没有override上来,在预制体B添加组件,并且资源加载结束后,发现预制体组件A重复添加了多语言组件。
解决办法:
搜了好几种方式,目前发现只有下面这一种有效
if (PrefabUtility.GetCorrespondingObjectFromSource(textList[i].transform.gameObject) != null)
{
continue;
}