欢迎光临散文网 会员登陆 & 注册

【Unity开发教程】从零开始开发i wanna系列游戏(3)读取游戏存档

2023-09-03 01:37 作者:蔷薇对你说晚安  | 我要投稿

太阳战士索拉尔来啦,感觉unity有个bug,路径设置对了依然会找不到,不如直接公开,把data文件拖进去using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using System.Xml;


public class ResourceRvc : MonoBehaviour

{

public static ResourceRvc Instance; // 单例

public XmlDocument dataDocument; // 用于存储XML文档

public XmlNodeList dataNodeList; // 用于存储XML节点列表

public TextAsset xmlFile; // 在Inspector面板中手动设置


public void Initsvc()

{

Instance = this; // 初始化单例

InitSaveDate(); // 初始化存档数据

}


private void InitSaveDate()

{

dataDocument = new XmlDocument(); // 创建新的XML文档

dataDocument.LoadXml(xmlFile.text); // 加载XML文件内容

dataNodeList = dataDocument.SelectSingleNode("data").ChildNodes; // 获取"data"节点的所有子节点

}


public struct SaveData // 存档数据结构

{

public string state; // 状态

public int deathCount; // 死亡次数

public string time; // 时间

public string savePosition; // 存档位置

// public string 最好把角色的子集状态也储存

}

public SaveData GetSaveData(int dataChooseNum) // 获取存档数据

{

XmlElement element = (XmlElement)dataNodeList[dataChooseNum]; // 获取指定索引的节点

SaveData saveData = new SaveData(); // 创建新的存档数据

saveData.state = element.GetAttribute("state"); // 获取状态

saveData.deathCount = int.Parse(element.GetAttribute("death")); // 获取死亡次数

saveData.time = element.GetAttribute("time"); // 获取时间

saveData.savePosition = element.GetAttribute("save_position"); // 获取存档位置

return saveData; // 返回存档数据

}

}

【Unity开发教程】从零开始开发i wanna系列游戏(3)读取游戏存档的评论 (共 条)

分享到微博请遵守国家法律