小编给大家分享一下如何使用将场景树转为XML的函数,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
日前遇到些运行时场景树中未按预期销毁的GameObject
需要打印出场景树结构做前后比较,所以写个这个简单的函数
public static void ExchangeHierarchy2XmlNode(Transform transParant, System.Xml.XmlNode node,System.Xml.XmlDocument doc)
{
int indexCount = transParant.transform.childCount;
string name = transParant.name;
if (string.IsNullOrEmpty(name))
{
name = "Untitiled";
}
name=name.Replace('(', '_');name=name.Replace(')', '_');
name = name.Replace(' ', '_');
name = "_" + name;
System.Xml.XmlElement curentElement = doc.CreateElement(name);
node.AppendChild(curentElement);
foreach (Component comp in transParant.gameObject.GetComponents(typeof(MonoBehaviour)))
{
System.Xml.XmlAttribute newAttr = doc.CreateAttribute(comp.GetType().Name);
newAttr.Value = "";
curentElement.Attributes.Append(newAttr);
}
for (int i = 0; i < indexCount; i++)
{
Transform transChild = transParant.transform.GetChild(i);
ExchangeHierarchy2XmlNode(transChild, curentElement, doc);
}
}
看完了这篇文章,相信你对“如何使用将场景树转为XML的函数”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。