U3D读取TXT文档(例如装备物品信息的数据)适合新手

读取文档
第一步先获取文档,这时我们会有一个是.txt后缀的文档。没有的话自己写一个也行。在这里插入图片描述
不限字符。(除了一些无法识别的)
开始写脚本。

/*这里是枚举扩展
public enum SkillType {
    Basic,
    Skill
}

public enum SkillPos {
    Basic,
    One,
    Two,
    Three
}
*/
//这个类是用来接收等下读取出来的数据
public class SkillInfo {
    private string Id;
    private string Name;
    private string cn;
    /*这里面是扩展
    //前面这三个是将txt的数据转换成类中的枚举值。
    private PlayerInofo.CharacterType characterType;
    private SkillType skillType;
    private SkillPos skillPos;
    */
public class SkillManage : MonoBehaviour {
	//这个是放文档的类,像web的就不是TestAsset,而是WWW
    public TextAsset textAsset;
    //建一个列表等下用来接收你的数据(按行接收),方便你调用。
    //这个SkillInfo类,你也可以在本类中写成struct。
    private List<SkillInfo> SkillList = new List<SkillInfo>();
    private void Awake()
    {
    	//初始化数据
        initSkillInfo();
    }
    public void initSkillInfo()
    {
    //先把文档转换成字符串行,‘\n’是告诉系统按照换行符取值
        string[] str = textAsset.ToString().Split('\n');
       //再在每行里面读取单独的字符串,‘;’是告诉系统按照;取值
        foreach (string item in str)
        {
            string[] strArray = item.Split(';');
            SkillInfo ski = new SkillInfo();
            //把值放到要存数据的类里。
            ski.Name1 = strArray[0];
            ski.Id1 =strArray[1];
            ski.cn= strArray[2];
            /*这里面是扩展,获取枚举值的(这个需要在文档中每行后面另外添加枚举的值)
            ski.CharacterType = (PlayerInofo.CharacterType)Enum.Parse(typeof(PlayerInofo.CharacterType), strArray[3]);
            ski.SkillType = (SkillType)Enum.Parse(typeof(SkillType), strArray[4]);
            ski.SkillPos = (SkillPos)Enum.Parse(typeof(SkillPos), strArray[5]);
            */
            SkillList.Add(ski);
        }
    }
    

/**/里面的不懂可以忽视,是扩展而已,有兴趣可以看看。如果不懂也可以发个消息,我会尽快回复。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值