using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using LitJson;
using NTFrame;
using ProtoBuf;
[ProtoContract]
public class CharNamesData
{
[ProtoMember(1)]
public int id;
[ProtoMember(2)]
public string xing;
[ProtoMember(3)]
public string name_nan;
[ProtoMember(4)]
public string name_nv;
}
public class CharNamesDataProvider : NTFrame.Singleton<CharNamesDataProvider>
{
Dictionary<int, CharNamesData> _Datas = new Dictionary<int, CharNamesData>();
List<string> _xings = new List<string> ();// 姓
List<string> _boyname = new List<string> ();// 男名字
List<string> _grilname = new List<string> ();// 女名字
#region 加载静态配置
public void InitDatas(MemoryStream ms)
{
try
{
List<CharNamesData> datas = Serializer.Deserialize<List<CharNamesData>>(ms);
_Datas.Clear();
for (int i = 0; i < datas.Count; i++)
{
_xings.Add(datas[i].xing);
_boyname.Add(datas[i].name_nan);
_grilname.Add(datas[i].name_nv);
if (datas[i] != null && _Datas.ContainsKey(datas[i].id) == false)
{
_Datas.Add(datas[i].id, datas[i]);
}
else
{
Debuger.LogError("Load task.json contains error id!");
}
}
}
catch (System.Exception ex)
{
Debug.LogError(ex);
}
}
#endregion
public CharNamesData GetDataById(int id)
{
if (_Datas.ContainsKey(id))
{
return _Datas[id];
}
return null;
}
// 随机名字
public string GetRandomName(CommonEnum.Sex sex)
{
List<string> names = new List<string> ();
if (sex == CommonEnum.Sex.Male)
names.AddRange(_boyname);
else
names.AddRange(_grilname);
string xingstr = GetRandom(_xings);
string namestr = GetRandom(names);
return string.Format("{0}{1}",xingstr,namestr);
}
string GetRandom(List<string> list)
{
if (list == null)
list = new List<string> ();
int index = Random.Range(0, list.Count);
if (index < list.Count && index >= 0)
{
return list[index];
}
return "";
}
}
【游戏】随机名字
最新推荐文章于 2024-06-13 15:24:55 发布