生成随机名字

资源服务脚本
#region InitCtgs
private List surnameList = new List();
private List manList = new List();
private List womanList = new List();

private void InitRDNameCfg()
{
    //加载xml文件
    TextAsset xml = Resources.Load(PathDefine.RDNameCfg);
    if (!xml)
    {
        Debug.LogError("xml file:" + PathDefine.RDNameCfg + "not exist");
    }
    else
    {
        XmlDocument doc = new XmlDocument();
        doc.LoadXml(xml.text);
       
        //解析xml文件
        //获取根节点下的所有子节点的List:
        XmlNodeList nodList = doc.SelectSingleNode("root").ChildNodes;
        // 将某一个节点转化为一个XmlElement:
        for (int i = 0; i < nodList.Count; i++)
        {
           
            XmlElement ele = nodList[i] as XmlElement;
            //从XmlElement里获取名称为"ID"的数据:
            if (ele.GetAttributeNode("ID") == null)
            {
                continue;
            }
          int ID=Convert.ToInt32(ele.GetAttributeNode("ID").InnerText) ;
            //遍历节点里的每一个属性
            foreach ( XmlElement e in nodList[i].ChildNodes)
            {
                switch (e.Name)
                {
                    case "surname":
                        surnameList.Add(e.InnerText);
                     
                        break;
                    case "man":
                        manList .Add(e.InnerText);
                     
                        break;
                    case "woman":
                       womanList.Add(e.InnerText);
                   
                        break;
                }
            }
        }                    
    }    
}
public string GetRDNameData(bool man =true )
{
    System.Random rd = new System.Random();
   
    string rdname = surnameList[PETools.RDInt(0, surnameList.Count - 1)];
  
    if (man)
    {
        rdname += manList[PETools.RDInt(0, manList.Count - 1)];         
    }
    else
    {
        rdname += womanList[PETools.RDInt(0, womanList.Count - 1)];          
    }
    Debug.Log(rdname);
    return rdname;
}

#endregion
**

创建角色面板

 public InputField iptName;  
protected override void InitPanel()
{
    base.InitPanel();
    //显示一个随机名字
    iptName.text = resSvc.GetRDNameData();
}
public void ClickRandBtn()
{
    string rdname = resSvc.GetRDNameData();
    iptName.text = rdname;
}

#PathDefine 脚本

 //随机名字路径
public const string RDNameCfg = "ResCfgs/rdname";

PETools脚本

 public static int RDInt(int min ,int max,System .Random rd=null 
{
    if (rd == null)
    {
      rd = new System.Random();
    }      
    int val = rd.Next(min, max + 1);
    return val;
}

你可能感兴趣的:(学习笔记)