讲道理这是本宅第一次写原创技术文章,且文中全部内容均为本人拙劣的技术方法实现,若有各种疑问和错误,欢迎及时指正。
绝大部分有点规模的游戏都需要读取XML,且XML数量并不少,如果每次需要数据时就读一次那就太浪费资源了,而且性能也不好,所以我自己动手简单写了一个管理读取XML简单架构。
大致思路:首先建立一个读取XML的父类,继承的子类即所要读XML的实体类。使用WWW类获取XML路径,使用www.text得到XML内容,经过处理后把所得的东西存入一个Dictionary<Type,Object>中,以后需要用到XML中数据的时候,直接从Dictionary中调数据即可,而不需要重复的读XML了。
思路大致如此,下面贴点代码详细说明一下吧。
<span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PlayerConfig>
<Player name="伊沢ライオン" id="1001" HP="100" MP="50" ATK="10" DFN="10" >
<skill>Q</skill>
<skill>W</skill>
<skill>E</skill>
<skill>R</skill>
</Player>
</PlayerConfig></span>
↑↑↑↑↑这个是示例XML,我们就以读取这个为例。
<span style="font-size:14px;">using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Player {
public string name;
public int id;
public int hp;
public int mp;
public int atk;
public int dfn;
public List<Player> players=new List<Player>();
public List<Skill> skill=new List<Skill>();
}
public class Skill {
public string skillName;
}</span>
↑