0
我试图基本上让一个系统,它允许我加载多种类型的敌人。一种类型的敌人比其他类型需要更多的元素。举个例子。XML XNA如何忽略一个元素
XDocument doc = XDocument.Load("Levels\\Level"+ levelIndex + "\\Waves" + levelIndex + ".xml");
List<WaveInfo> waveInfo = new List<WaveInfo>();
waveInfo = (from wave in doc.Descendants("wave")
select new WaveInfo()
{
enemiesInfo = (from i in wave.Descendants("enemy")
select new EnemyInfo()
{
type = Convert.ToInt32(i.Element("type").Value),
colour = Convert.ToInt32(i.Element("colour").Value),
speed = (float)Convert.ToDouble(i.Element("speed").Value),
spawnTime = (float)Convert.ToDouble(i.Element("spawnTime").Value),
}).ToList()
}).ToList();
这工作得很好,并且可以在加载两种类型的敌人,但在我的xml我有一个色彩元素添加到敌人类型,不需要它。我想要发生的是,对于一种类型的敌人,我可以不用写颜色标签,而且序列化程序只是将它作为空值处理。我怎样才能做到这一点?