private void SaveByXML()
{
//创建Save对象并保存当前游戏状态
SaveManager save = CreatSave();
//创建一个XML的文件路径
string filePath = Application.dataPath + "/MyPro/Save" + "/ByXML.txt";
//创建XML文档
XmlDocument Xmldoc = new XmlDocument();
//创建根节点,最上层的节点
XmlElement root = Xmldoc.CreateElement("SaveXML");
//设置根节点中的值(键值对的值)
root.SetAttribute("name", "XML储存信息");
//继续创建根节点(怪物信息---(包含)怪物的位置,种类)
XmlElement Monsters;
XmlElement monstersposition;
XmlElement monsterstype;
//遍历save并将里面保存的数据转换成XML格式内容
for (int i = 0; i < save.MonstersPosition.Count; i++)
{
//设置"怪物信息"节点名字
Monsters = Xmldoc.CreateElement("怪物信息");
//设置InnerText值,怪物位置和种类节点名字
monstersposition = Xmldoc.CreateElement("位置");
monstersposition.InnerText = save.MonstersPosition[i].ToString();
monsterstype = Xmldoc.CreateElement("种类");
monsterstype.InnerText = save.MonstersType[i].ToString();
//设置节点间的层级关系root--Monsters--(monstersposition,monsterstype)
Monsters.AppendChild(monstersposition);
Monsters.AppendChild(monsterstype);
root.AppendChild(Monsters);
}
//设置射击数和分数节点,并且设置层级关系
XmlElement shootNum = Xmldoc.CreateElement("射击数");
shootNum.InnerText = save.ShootNum.ToString();
root.AppendChild(shootNum);
XmlElement grade = Xmldoc.CreateElement("分数");
grade.InnerText = save.Grade.ToString();
root.AppendChild(grade);
//里面子信息都设置好之后,将总root加到xmldoc文档里,并且保存
Xmldoc.AppendChild(root);
Xmldoc.Save(filePath);
if (File.Exists(filePath))
{
UIScript._instance.ShowMessage("保存成功");
StartCoroutine("IsMessage");
}
}