千家信息网

如何使用将场景树转为XML的函数

发表于:2025-02-19 作者:千家信息网编辑
千家信息网最后更新 2025年02月19日,小编给大家分享一下如何使用将场景树转为XML的函数,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!日前遇到些运行时场景树中未按预期销毁的GameObject需要打印出场景树结构做前后比
千家信息网最后更新 2025年02月19日如何使用将场景树转为XML的函数

小编给大家分享一下如何使用将场景树转为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的函数"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

0