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

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

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RandomName><info Name1="银" Name2="狼" Name3="将军"/><info Name1="末" Name2="世" Name3="侯爵"/><info Name1="苍" Name2="月" Name3="守护者"/><info Name1="无" Name2="常" Name3="暴君"/><info Name1="混" Name2="沌" Name3="指挥官"/><info Name1="渡" Name2="鸦" Name3="死神"/><info Name1="毁" Name2="灭" Name3="叛教者"/><info Name1="黯" Name2="蚀" Name3="使徒"/><info Name1="灵" Name2="魂" Name3="奇术师"/><info Name1="极" Name2="光" Name3="护法"/><info Name1="梦" Name2="魇" Name3="灵神"/><info Name1="沙" Name2="暴" Name3="侵略者"/><info Name1="月" Name2="桂" Name3="领主"/><info Name1="暗" Name2="魂" Name3="之王"/><info Name1="荒" Name2="海" Name3="浸染者"/><info Name1="辉" Name2="影" Name3="化身"/><info Name1="豪" Name2="雨" Name3="执法者"/><info Name1="灾" Name2="祸" Name3="掠杀者"/><info Name1="漆" Name2="黑" Name3="召唤者"/><info Name1="虚" Name2="空" Name3="堕天使"/><info Name1="红" Name2="莲" Name3="使者"/><info Name1="守" Name2="墓" Name3="仲裁者"/><info Name1="阳" Name2="炎" Name3="法师"/><info Name1="堕" Name2="狱" Name3="主教"/><info Name1="真" Name2="理" Name3="支配者"/><info Name1="铁" Name2="壁" Name3="之怒"/><info Name1="黄" Name2="昏" Name3="之刺"/><info Name1="疾" Name2="风" Name3="创造者"/><info Name1="裂" Name2="空" Name3="大帝"/><info Name1="黑" Name2="暗" Name3="骑士"/><info Name1="独" Name2="木" Name3="男爵"/><info Name1="黄" Name2="金" Name3="典狱官"/><info Name1="帝" Name2="国" Name3="主宰者"/><info Name1="凛" Name2="冬" Name3="统领"/><info Name1="天" Name2="罚" Name3="剑圣"/><info Name1="秩" Name2="序" Name3="之手"/><info Name1="深" Name2="渊" Name3="之主"/><info Name1="幽" Name2="破" Name3="先知"/><info Name1="幻" Name2="象" Name3="女神"/><info Name1="光" Name2="明" Name3="弑神者"/><info Name1="星" Name2="陨" Name3="恶魔"/><info Name1="游" Name2="魂" Name3="审判者"/><info Name1="黎" Name2="炼" Name3="诅咒"/><info Name1="圣" Name2="力" Name3="掠夺者"/><info Name1="焰" Name2="漠" Name3="独裁者"/><info Name1="晨" Name2="曦" Name3="皇子"/><info Name1="猎" Name2="潮" Name3="粉碎者"/><info Name1="大" Name2="地" Name3="之影"/><info Name1="赤" Name2="金" Name3="收割者"/><info Name1="炎" Name2="火" Name3="猎手"/><info Name1="绝" Name2="寒" Name3="魔王"/><info Name1="破" Name2="伤" Name3="暗杀者"/><info Name1="拂" Name2="晓" Name3="诗人"/><info Name1="暮" Name2="色" Name3="守卫者"/><info Name1="死" Name2="灵" Name3="掌控者"/><info Name1="苍" Name2="焱" Name3="神使"/><info Name1="炙" Name2="驱" Name3="城主"/><info Name1="战" Name2="争" Name3="大贤者"/><info Name1="血" Name2="腥" Name3="之殇"/><info Name1="炽" Name2="热" Name3="怒龙"/><info Name1="不" Name2="死" Name3="踏浪者"/><info Name1="冰" Name2="冻" Name3="酋长"/><info Name1="傲" Name2="蛇" Name3="吟唱者"/><info Name1="雷" Name2="霆" Name3="苍穹"/><info Name1="永" Name2="恒" Name3="之刃"/><info Name1="魅" Name2="惑" Name3="之源"/><info Name1="白" Name2="骨" Name3="枷锁"/><info Name1="葬" Name2="花" Name3="精灵"/><info Name1="法" Name2="纹" Name3="召唤师"/><info Name1="怨" Name2="梦" Name3="乐章"/><info Name1="飓" Name2="天" Name3="霸主"/><info Name1="秋" Name2="擎" Name3="魅影"/><info Name1="弑" Name2="命" Name3="镇魂曲"/><info Name1="灰" Name2="烬" Name3="神话"/><info Name1="哀" Name2="嚎" Name3="传说"/><info Name1="孤" Name2="战" Name3="之魂"/><info Name1="飞" Name2="云" Name3="魔舞"/><info Name1="紫" Name2="羽" Name3="至尊"/><info Name1="霜" Name2="炽" Name3="咆哮"/><info Name1="噬" Name2="毒" Name3="剑皇"/><info Name1="蛊" Name2="雷" Name3="禁区"/><info Name1="夜" Name2="叉" Name3="之力"/><info Name1="斩" Name2="极" Name3="之光"/><info Name1="荣" Name2="耀" Name3="武者"/><info Name1="浩" Name2="劫" Name3="舞者"/><info Name1="刺" Name2="刀" Name3="狂刀"/><info Name1="枯" Name2="木" Name3="征服者"/><info Name1="痛" Name2="苦" Name3="勇士"/><info Name1="瘟" Name2="疫" Name3="刺客"/><info Name1="火" Name2="冥" Name3="之拥"/><info Name1="静" Name2="谧" Name3="狂魔"/><info Name1="闪" Name2="弑" Name3="之心"/><info Name1="烈" Name2="舞" Name3="刀锋"/><info Name1="龙" Name2="威" Name3="魔导士"/><info Name1="海" Name2="洋" Name3="通灵师"/><info Name1="秘" Name2="古" Name3="长者"/><info Name1="风" Name2="暴" Name3="小丑"/><info Name1="青" Name2="寂" Name3="假面"/><info Name1="诡" Name2="静" Name3="冥王"/><info Name1="双" Name2="尽" Name3="暗影"/><info Name1="完" Name2="美" Name3="闪耀"/><info Name1="寂" Name2="湮" Name3="灭杀者"/><info Name1="斗" Name2="煞" Name3="缠绕"/><info Name1="正" Name2="义" Name3="血月"/><info Name1="巨" Name2="龙" Name3="幽影"/><info Name1="星" Name2="辰" Name3="幻灭"/><info Name1="罪" Name2="恶" Name3="风暴"/><info Name1="不" Name2="朽" Name3="恶灵"/><info Name1="野" Name2="蛮" Name3="漩涡"/><info Name1="复" Name2="仇" Name3="翔翼"/><info Name1="残" Name2="酷" Name3="诡影"/><info Name1="混" Name2="乱" Name3="怒吼"/><info Name1="爆" Name2="裂" Name3="传奇"/><info Name1="枯" Name2="萎" Name3="冰峰"/><info Name1="魔" Name2="心" Name3="狂暴"/><info Name1="彩" Name2="幻" Name3="星辰"/><info Name1="漩" Name2="王" Name3="浩劫"/><info Name1="翔" Name2="翼" Name3="巫灵"/><info Name1="影" Name2="杀" Name3="先锋"/><info Name1="恒" Name2="狂" Name3="魔灵"/><info Name1="封" Name2="夜" Name3="巨兽"/><info Name1="寒" Name2="冰" Name3="意志"/><info Name1="阴" Name2="冷" Name3="恐惧"/><info Name1="恶" Name2="魔" Name3="天使"/><info Name1="暴" Name2="魅" Name3="争斗者"/><info Name1="狂" Name2="妖" Name3="战士"/><info Name1="冥" Name2="巫" Name3="斗者"/><info Name1="巫" Name2="柔" Name3="践踏者"/><info Name1="断" Name2="刺" Name3="狂徒"/><info Name1="毒" Name2="残" Name3="狂战士"/><info Name1="万" Name2="法" Name3="巫师"/><info Name1="碧" Name2="虚" Name3="弑君者"/><info Name1="长" Name2="野" Name3="克星"/><info Name1="怒" Name2="亡" Name3="低语者"/><info Name1="恐" Name2="罗" Name3="破界者"/><info Name1="陨" Name2="落" Name3="碎冰者"/><info Name1="亡" Name2="境" Name3="之巅"/><info Name1="乱" Name2="牢" Name3="之寒"/><info Name1="神" Name2="谕" Name3="之风"/><info Name1="迷" Name2="蓝" Name3="先驱者"/><info Name1="千" Name2="独" Name3="忏悔者"/><info Name1="浅" Name2="雾" Name3="博学者"/><info Name1="铜" Name2="玉" Name3="剥削者"/><info Name1="霸" Name2="痕" Name3="嗜血者"/><info Name1="新" Name2="神" Name3="破空者"/><info Name1="缚" Name2="沙" Name3="遗忘者"/><info Name1="禁" Name2="牙" Name3="冒险家"/><info Name1="失" Name2="碎" Name3="收藏家"/><info Name1="灭" Name2="奴" Name3="领袖"/><info Name1="湮" Name2="奥" Name3="啸天者"/><info Name1="超" Name2="群" Name3="之赐"/><info Name1="腐" Name2="恨" Name3="王冠"/><info Name1="燃" Name2="尊" Name3="初心者"/><info Name1="远" Name2="域" Name3="织雾者"/><info Name1="震" Name2="骨" Name3="冲锋者"/><info Name1="藤" Name2="爪" Name3="屠戮者"/><info Name1="尖" Name2="血" Name3="契约"/><info Name1="蛮" Name2="藤" Name3="潜伏者"/><info Name1="重" Name2="石" Name3="欺诈者"/><info Name3="逃亡者"/>
</RandomName>

ReadRandomNameConfig.cs

using System;
using UnityEngine;
using System.Xml;
using System.Collections.Generic;//对应配置文件:Assets/Resources/Config/RandomName.xml
/*
XML格式是这样的:
<info Name1="恶" Name2="魔" Name3="天使"/>
<info Name1="暴" Name2="魅" Name3="争斗者"/>
*/
public class RandomNameData:Singleton<RandomNameData>
{List<string> randomNameList1 = new List<string> ();List<string> randomNameList2 = new List<string> ();List<string> randomNameList3 = new List<string> ();//unchecked: 不检查运算溢出System.Random random = new System.Random (unchecked((int)DateTime.Now.Ticks));//构造函数public RandomNameData(){ResourceUnit xmlfileUnit = ResourcesManager.Instance.loadImmediate ("Config/RandomName", ResourceType.ASSET);TextAsset xmlfile = xmlfileUnit.Asset as TextAsset;if (!xmlfile){Debug.LogError(" error infos: 没有找到指定的xml文件:");}XmlDocument xmlDoc = new XmlDocument ();xmlDoc.LoadXml (xmlfile.text);XmlNodeList infoNodeList = xmlDoc.SelectSingleNode ("RandomName").ChildNodes;for (int i = 0; i < infoNodeList.Count; i++){//这里maxRandomNameSegment = 3//j = 1, 2, 3for (int j = 1; j <= GameDefine.GameConstDefine.maxRandomNameSegment; i++){var xmlEle = infoNodeList [i] as XmlElement;//Name1,Name2,Name3string nodeName = "Name" + j.ToString ();if (xmlEle.GetAttributeNode(nodeName) != null){var name1 = xmlEle.GetAttributeNode (nodeName).InnerText;AddRandomName (name1, j);}}}}public void Clean(){}public void AddRandomName(string name, int i){if (i == 1){randomNameList1.Add (name);}else if (i == 2){randomNameList2.Add (name);}else if (i == 3){randomNameList3.Add (name);}}string getRandNameInternal(int i){List<string> nameList = null;if (i == 1){nameList = randomNameList1;}else if (i == 2){nameList = randomNameList2;}else if (i == 3){nameList = randomNameList3;}if (nameList == null || nameList.Count < 1){Debug.LogError ("");return "";}int ran = random.Next (0, nameList.Count);int beginIndex = 0;foreach (var key in nameList){if (beginIndex == ran){return key;}beginIndex++;}return "";}public string GetRandName(){string randNickNameRes = "";//从Name1,Name2,Name3中分别随机一段出来拼起来for (int i = 1; i <= GameDefine.GameConstDefine.maxRandomNameSegment; i++){randNickNameRes += getRandNameInternal (i);}return randNickNameRes;}
}

ConfigReader(四十三)—— ReadRandomNameConfig相关推荐

  1. OpenCV学习笔记(四十一)——再看基础数据结构core OpenCV学习笔记(四十二)——Mat数据操作之普通青年、文艺青年、暴力青年 OpenCV学习笔记(四十三)——存取像素值操作汇总co

    OpenCV学习笔记(四十一)--再看基础数据结构core 记得我在OpenCV学习笔记(四)--新版本的数据结构core里面讲过新版本的数据结构了,可是我再看这部分的时候,我发现我当时实在是看得太马 ...

  2. 四十三、深入Java中的数组流,数据流和对象流操作

    @Author:Runsen @Date:2020/6/8 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

  3. 第四十三篇 面向对象进阶2

    目录 第四十三篇 面向对象进阶2 一.类的封装 1.封装分为两个层面 2.应用 二.类的property特性 1. BMI(Body Mass Index):身体体质指数 2.装饰器用法(只在Pyth ...

  4. JavaScript学习(四十三)—构造方法创建对象的图解和注意事项

    JavaScript学习(四十三)-构造方法创建对象的图解和注意事项 一.构造放法创建对象 之所以用构造放法创建对象就是为了解决工厂模式不能识别对象类型的问题.构造方法也可以被称为构造器,他的本质也是 ...

  5. 【正点原子MP157连载】第四十三章 外置RTC芯片PCF8563实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  6. 【Visual C++】游戏开发笔记四十三 浅墨DirectX教程十一 为三维世界添彩:纹理映射技术(二)...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 作者:毛星云(浅墨)    邮箱: happylifemxy@163.com 本篇文章里,我们首先对Direct3D之中固定功能流水线中的 ...

  7. 合影效果java_【蚂蚁课堂】四十三:如何拍酷炫集体照?

    原标题:[蚂蚁课堂]四十三:如何拍酷炫集体照? 作者 | 蚂蚁MaE 编辑 | 萌仔 大家出去玩或者聚会的时候会经常拍合影,但多数人拍出的效果真心不敢恭维. 蚂蚁随手翻了一下同学的QQ空间,发现了这种 ...

  8. 计算机专业用移动硬盘,评测 篇四十三:国产之光,看这款可做移动硬盘又可系统盘的Orico SSD...

    评测 篇四十三:国产之光,看这款可做移动硬盘又可系统盘的Orico SSD 2020-03-22 21:26:50 5点赞 7收藏 17评论 移动存储一直是我们生活中的热门话题,在伴随最近几年的云盘不 ...

  9. 每日算法(四十三)-java为了更改的规划城市,需要统计楼栋数目信息。

    每日算法(四十三)-java为了更改的规划城市,需要统计楼栋数目信息. 为了更改的规划城市,需要统计楼栋数目信息. 方法如下,一张航拍照片会被分隔为N*M个小格子,每个格子可以用0跟1来表示.如果楼栋 ...

最新文章

  1. nodejs返回下载文档,文档名称出现汉字出现乱码解决
  2. 2.10 局部最优的问题-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  3. 调试记录- error: #error “must enable c++17“
  4. 【HDU - 6081】度度熊的王国战略(SW算法,全局最小割)
  5. BUAA - 各项目组对软件用户数的估计
  6. vue概述、vue文件特点、vue核心思想、双向数据流、单文件、启动一个vue项目、声明式渲染
  7. 字节大牛教你手撕Java学习,大厂直通车!
  8. php arcsin,三角函数在线计算器
  9. 应急指挥调度管理系统|城市综合应急指挥调度系统
  10. Linux下报ora-12162,ORA-12162: TNS:net service name is incorrectly specified
  11. 卡斯卡迪亚社区建设者奖:2017年获胜者公布
  12. html5小游戏猴子爬树源码,猴子爬树小班教案
  13. Python 实现 双人五子棋对局
  14. 【图片素材】小程序图片
  15. javaweb登录验证码的实现
  16. awk、cut、sort和uniq
  17. android 三星闪退,三星手机升级安卓10微信闪退怎么办?(附解决方法)
  18. ibooks打开含iframe的epub乱码
  19. 弹射王服务器正在维护中,【 合服公告】《弹射王》2020年11月12日
  20. 《炬丰科技-半导体工艺》 碱性溶液中结晶硅的各向异性蚀刻

热门文章

  1. 技术理论-【socket】- 计算机网络
  2. 计算机辅助翻译论文的应用环境,计算机辅助翻译(CAT)技术在现代翻译中的应用探析.pdf...
  3. centos7下mongodb安装及开启副本
  4. Oracle 获取月初、月末时间,获取上一月月初、月末时间
  5. 准确度(Accuracy)和精密度(Precision)
  6. 安卓开发笔记(十二)—— 基于百度地图SDK完成地图中心定位,marker转向,动态定位
  7. revit 2017下载(附注册码密钥)
  8. 微型计算机H535内存,微型计算机技术-中国大学mooc-题库零氪
  9. 如何使用物联网低代码平台进行工作表管理?
  10. IT行业都包含哪些工作,具体职位都有什么?