ConfigReader(十四)—— ReadGuideHelpConfig

来源:互联网 发布:匿名者黑页源码 编辑:程序博客网 时间:2024/05/29 02:04

目录为:Assets/Scripts/ConfigReader/目录下
ReadGuideHelpConfig.cs

对应配置文件:
Assets/Resources/Config/HelpTips.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><HelpTips xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">    <info id="20001">        <tiptimes>1</tiptimes>        <tipmatches>5</tipmatches>        <Info>商城购买提示</Info>        <tippath>Position/Task5</tippath>        <tipevent>-5008</tipevent>        <tipShowTimes>6</tipShowTimes>    </info>    <info id="20002">        <tiptimes>2</tiptimes>        <tipmatches>5</tipmatches>        <Info>血量不足回城提示</Info>        <tippath>Position/Task6</tippath>        <tipevent>-5009</tipevent>        <tipShowTimes>10</tipShowTimes>    </info>    <info id="20003">        <tiptimes>2</tiptimes>        <tipmatches>5</tipmatches>        <Info>暴怒提示</Info>        <tippath>Position/Task7</tippath>        <tipevent>-5010</tipevent>        <tipShowTimes>10</tipShowTimes>    </info>    <info id="20004">        <tiptimes>1</tiptimes>        <tipmatches>5</tipmatches>        <Info>商店消耗提示</Info>        <tippath>Position/Task9</tippath>        <tipevent>-5011</tipevent>        <tipShowTimes>6</tipShowTimes>    </info></HelpTips>

ReadGuideHelpConfig.cs

using System;using UnityEngine;using System.Xml;using System.Collections.Generic;//新手教程相关//对应的配置文件:Assets/Resources/Cofig/HelpTips.xmlpublic class ReadGuideHelpConfig{    XmlDocument xmlDoc = null;    //构造函数    public ReadGuideHelpConfig(string xmlFilePath)    {        ResourceUnit xmlfileUnit = ResourcesManager.Instance.loadImmediate (xmlFilePath, ResourceType.ASSET);        TextAsset xmlfile = xmlfileUnit.Asset as TextAsset;        if (!xmlfile)        {            Debug.LogError(" error infos: 没有找到指定的xml文件:" + xmlFilePath);        }        xmlDoc = new XmlDocument ();        xmlDoc.LoadXml (xmlfile.text);        XmlNodeList infoNodeList = xmlDoc.SelectSingleNode ("HelpTips").ChildNodes;        for (int i = 0; i < infoNodeList.Count; i++)        {            if ((infoNodeList[i] as XmlElement).GetAttributeNode("id") == null)            {                continue;            }            string typeName = (infoNodeList [i] as XmlElement).GetAttributeNode ("id").InnerText;            GuideHelpData helpInfo = new GuideHelpData ();            helpInfo.helpId = Convert.ToInt32 (typeName);            foreach(XmlElement xEle in infoNodeList[i].ChildNodes)            {                switch (xEle.Name)                {                case "tiptimes":                    helpInfo.helpTimes = Convert.ToInt32 (xEle.InnerText);                    break;                case "tipMatches":                    helpInfo.helpMatches = Convert.ToInt32 (xEle.InnerText);                    break;                case "tipPath":                    helpInfo.helpObjPathList = GameMethod.ResolveToStrList (Convert.ToString (xEle.InnerText), ';');                    break;                case "tipevent":                    helpInfo.helpTriggerEvent = Convert.ToInt32 (xEle.InnerText);                    break;                case "tipShowTimes":                    helpInfo.helpShowTime = Convert.ToSingle (xEle.InnerText);                    break;                }            }            ConfigReader.guideHelpXmlInfoDict.Add (helpInfo.helpId, helpInfo);        }    }}/*对应的XML格式如下:<info id="20001">    <tiptimes>1</tiptimes>    <tipmatches>5</tipmatches>    <Info>商城购买提示</Info>    <tippath>Position/Task5</tippath>    <tipevent>-5008</tipevent>    <tipShowTimes>6</tipShowTimes></info>*/public class GuideHelpData{    public int helpId;    public int helpTimes;    public int helpMatches;    public List<string> helpObjPathList;    public int helpTriggerEvent;    public float helpShowTime;}
原创粉丝点击