用Excel生成配置配置文件
1、准备好.xml模板文件
比如:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<item ID="">
<surname></surname>
<man></man>
<woman></woman>
</item>
<item ID="">
<surname></surname>
<man></man>
<woman></woman>
</item>
</root>
注意:必须要有两个相同的数据节点
2、转成.xlsx文件,这个格式才能被Excel编辑
步骤:
1)打开Excel-> 文件->选项->自定义功能区->主选项卡->开发工具->添加(已添加则不需要添加)
2)开发工具->xml面板->源->xml映射->添加你想映射的模板文件->确定,打开->右键,映射元素->编辑生成的表
3、导出xml文件
步骤:
1)开发工具->xml面板->源->导出
image.png
在Unity中解析xml文件
将姓氏存储在surnameLst
男生名字放manLst
女生名字放womanLst
GetRDNameData 随机出一个名字
private List<string> surnameLst = new List<string>();
private List<string> manLst = new List<string>();
private List<string> womanLst = new List<string>();
private void InitRDNameCfg() {
TextAsset xml = Resources.Load<TextAsset>(PathDefine.RDNameCfg);
if (!xml) {
Debug.LogError("xml file:" + PathDefine.RDNameCfg + " not exist");
}
else {
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml.text);
XmlNodeList nodLst = doc.SelectSingleNode("root").ChildNodes;
for (int i = 0; i < nodLst.Count; i++) {
XmlElement ele = nodLst[i] as XmlElement;
if (ele.GetAttributeNode("ID") == null) {
continue;
}
int ID = Convert.ToInt32(ele.GetAttributeNode("ID").InnerText);
foreach (XmlElement e in nodLst[i].ChildNodes) {
switch (e.Name) {
case "surname":
surnameLst.Add(e.InnerText);
break;
case "man":
manLst.Add(e.InnerText);
break;
case "woman":
womanLst.Add(e.InnerText);
break;
}
}
}
}
}
public string GetRDNameData(bool man = true) {
System.Random rd = new System.Random();
string rdName = surnameLst[PETools.RDInt(0, surnameLst.Count - 1)];
if (man) {
rdName += manLst[PETools.RDInt(0, manLst.Count - 1)];
}
else {
rdName += womanLst[PETools.RDInt(0, womanLst.Count - 1)];
}
return rdName;
}
网友评论