目录为:Assets/Scripts/ConfigReader/目录下
ReadVipLevelConfig.cs
对应配置文件目录:
Assets/Resources/Config/VIPIntegralCfg.xml
部分如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VIPIntegralCfg xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<info VIPLv="1">
<VIPIntegral>6</VIPIntegral>
<M20001>100001</M20001>
<M20002>0</M20002>
<M21001>3</M21001>
<M21002>1</M21002>
<M21003>0</M21003>
<M21004>0</M21004>
<M21005>0</M21005>
<M21006>0</M21006>
<M21007>0</M21007>
<M21008>0</M21008>
<M21009>0</M21009>
<M21010>0</M21010>
</info>
<info VIPLv="2">
<VIPIntegral>12</VIPIntegral>
<M20001>0</M20001>
<M20002>0</M20002>
<M21001>3</M21001>
<M21002>1</M21002>
<M21003>1</M21003>
<M21004>0</M21004>
<M21005>0</M21005>
<M21006>0</M21006>
<M21007>0</M21007>
<M21008>0</M21008>
<M21009>0</M21009>
<M21010>0</M21010>
</info>
<info VIPLv="3">
<VIPIntegral>28</VIPIntegral>
<M20001>100008</M20001>
<M20002>0</M20002>
<M21001>3</M21001>
<M21002>1</M21002>
<M21003>1</M21003>
<M21004>0.2</M21004>
<M21005>1</M21005>
<M21006>0</M21006>
<M21007>0</M21007>
<M21008>0</M21008>
<M21009>0</M21009>
<M21010>0</M21010>
</info>
ReadVipLevelConfig.cs
using System;
using UnityEngine;
using System.Xml;
using System.Collections.Generic;
//VIP level
//对应配置文件目录:Assets/Resources/Config/VIPIntegralCfg.xml
public class ReadVipLevelConfig
{
XmlDocument xmlDoc = null;
//构造函数
public ReadVipLevelConfig(string xmlFilePath)
{
ResourceUnit xmlfileUnit = ResourcesManager.Instance.loadImmediate (xmlFilePath, ResourceType.ASSET);
TextAsset xmlfile = xmlfileUnit.Asset as TextAsset;
xmlDoc = new XmlDocument ();
xmlDoc.LoadXml (xmlfile.text);
XmlNodeList infoNodeList = xmlDoc.SelectSingleNode ("VIPIntegralCfg").ChildNodes;
string temp = null;
string[] value = null;
for (int i = 0; i < infoNodeList.Count; i++)
{
if ((infoNodeList[i] as XmlElement).GetAttributeNode("VIPLv") == null)
{
continue;
}
string level = (infoNodeList [i] as XmlElement).GetAttributeNode ("VIPLv").InnerText;
VipLevelConfigInfo levelInfo = new VipLevelConfigInfo ();
levelInfo.VipUserLevel = Convert.ToInt32 (level);
foreach (XmlElement xEle in infoNodeList[i].ChildNodes)
{
switch (xEle.Name)
{
case "VIPIntegral":
levelInfo.VipIntegral = Convert.ToInt32 (xEle.InnerText);
break;
case "M20001":
levelInfo.VipHero = Convert.ToString (xEle.InnerText);
break;
case "M20002":
levelInfo.VipRune = Convert.ToString (xEle.InnerText);
break;
case "M21001":
levelInfo.VipPrivilege1 = Convert.ToString (xEle.InnerText);
break;
case "M21002":
levelInfo.VipPrivilege2 = Convert.ToString (xEle.InnerText);
break;
case "M21003":
levelInfo.VipPrivilege3 = Convert.ToString (xEle.InnerText);
break;
case "M21004":
levelInfo.VipPrivilege4 = Convert.ToString (xEle.InnerText);
break;
case "M21005":
levelInfo.VipPrivilege5 = Convert.ToString (xEle.InnerText);
break;
case "M21006":
levelInfo.VipPrivilege6 = Convert.ToString (xEle.InnerText);
break;
case "M21007":
levelInfo.VipPrivilege7 = Convert.ToString (xEle.InnerText);
break;
case "M21008":
levelInfo.VipPrivilege8 = Convert.ToString (xEle.InnerText);
break;
case "M21009":
levelInfo.VipPrivilege9 = Convert.ToString (xEle.InnerText);
break;
case "M21010":
levelInfo.VipPrivilege10 = Convert.ToString (xEle.InnerText);
break;
}
}
ConfigReader.ViplevelXmlInfoDict.Add (levelInfo.VipUserLevel, levelInfo);
}
}
}
/*
<info VIPLv="8">
<VIPIntegral>585</VIPIntegral>
<M20001>0</M20001>
<M20002>120102:3</M20002>
<M21001>3</M21001>
<M21002>2</M21002>
<M21003>1</M21003>
<M21004>0.2</M21004>
<M21005>1</M21005>
<M21006>0.5</M21006>
<M21007>0.1</M21007>
<M21008>1</M21008>
<M21009>1</M21009>
<M21010>1</M21010>
</info>
*/
public class VipLevelConfigInfo: System.Object
{
public int VipUserLevel;
public int VipIntegral;
public string VipHero;
public string VipRune;
public string VipPrivilege1;
public string VipPrivilege2;
public string VipPrivilege3;
public string VipPrivilege4;
public string VipPrivilege5;
public string VipPrivilege6;
public string VipPrivilege7;
public string VipPrivilege8;
public string VipPrivilege9;
public string VipPrivilege10;
}