ConfigReader(二十二)—— ReadGuideRewardTaskConfig
来源:互联网 发布:电缆价格计算软件 编辑:程序博客网 时间:2024/05/19 02:23
目录为:Assets/Scripts/ConfigReader/目录下
ReadGuideRewardTaskConfig.cs
对应xml配置文件:
Assets/Resources/Config/Award.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Award xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <info id="1001"> <award>1</award> <quantity>500</quantity> <pos>0</pos> </info> <info id="1002"> <award>2</award> <quantity>0</quantity> </info></Award>
ReadGuideRewardTaskConfig.cs
using System;using UnityEngine;using System.Xml;using System.Collections.Generic;//Guide相关//对应配置文件:Assets/Resources/Config/Award.xmlpublic class ReadGuideRewardTaskConfig{ XmlDocument xmlDoc = null; public ReadGuideRewardTaskConfig(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 ("Award").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; //在Guide那部分定义 CRewardTask rewardInfo = new CRewardTask (); rewardInfo.TaskId = Convert.ToInt32 (typeName); rewardInfo.TaskType = GuideTaskType.RewardTipTask; foreach (XmlElement xEle in infoNodeList[i].ChildNodes) { switch (xEle.Name) { case "award": rewardInfo.RewardType = (RewardTaskType)Convert.ToInt32 (xEle.InnerText); break; case "quantity": rewardInfo.RewardResult = Convert.ToInt32 (xEle.InnerText); break; case "pos": string pos = Convert.ToString (xEle.InnerText); if (pos.Length == 1) { rewardInfo.EffectPos = Vector3.zero; } else { List<float> posList = GameMethod.ResolveToFloatList (Convert.ToString (xEle.InnerText), ';'); rewardInfo.EffectPos = new Vector3 (posList [0], posList [1], posList [2]); } break; case "path": rewardInfo.EffectPath = Convert.ToString (xEle.InnerText); break; } } CTaskBase.rewardTaskDic.Add (rewardInfo.TaskId, rewardInfo); } }}/*XML格式还是放在这里:<info id="1001"> <award>1</award> <quantity>500</quantity> <pos>0</pos></info>*/
阅读全文
0 0
- ConfigReader(二十二)—— ReadGuideRewardTaskConfig
- ConfigReader(十二)—— ReadGuideClickButtonTaskConfig
- ConfigReader(二)—— MapLoadConfig
- ConfigReader(二十)—— ReadGuidePathTaskConfig
- ConfigReader(二十一)—— ReadGuidePopTipTaskConfig
- ConfigReader(二十三)—— ReadGuideTaskConfig
- ConfigReader(二十四)—— ReadGuideTimeCtrlTaskConfig
- ConfigReader(二十五)—— ReadGuideTipTaskConfig
- ConfigReader(二十六)—— ReadGuideVoiceTaskConfig
- ConfigReader(二十七)—— ReadHeroBuyConfig
- ConfigReader(二十八)—— ReadHeroConfig
- ConfigReader(二十九)—— ReadHeroHeadConfig
- ConfigReader(六十)—— ConfigReader
- Commom(十)—— ConfigReader
- ConfigReader(一)—— MapConfig
- ConfigReader(三)—— ReadAdvancedGuideConfig
- ConfigReader(四)—— ReadBuffConfig
- ConfigReader(五)—— ReadBuySkinConfig
- 运行时值注入Bean
- 基于Qt的截图工具,实现截图后进行编辑
- Linux中软件包安装(rpm和yum)
- AngularJS2 学习笔记——TypeScript
- 利用select直接insert数据
- ConfigReader(二十二)—— ReadGuideRewardTaskConfig
- mongodb 怎么添加到windows服务
- 使用git拉取github上的项目
- 插入排序算法
- bzoj1179 [Apio2009]Atm
- C++直接初始化与复制初始化的区别深入解析
- 在anaconda中安装xgboost,基于win10 32/64位系统
- 微信授权读取用户信息
- 巩固基础——操作系统(1)