static void Main(string[] args) { ISettings settings = new Settings(); DataSuit suit = new DataSuit(settings); var barList = new List <string>() { "Foo", "Bar", "Baz" }; suit.Build <Foo>() //.Collection(i => i.Bar, barList, ProviderType.Random) .Range(i => i.Range, 10, 40) .Set(i => i.Static, "DataSuit") .Incremental(i => i.Id) .Guid(i => i.IdString) .Func(i => i.Bar, () => Guid.NewGuid().ToString()); var fooGenerator = suit.GeneratorOf <Foo>(); var data = fooGenerator.Generate(count: 4); foreach (var item in data) { Console.WriteLine($"{item.IdString} {item.Bar} {item.Range} {item.Static}"); } }
static void Main(string[] args) { var names = new List <string>() { "John", "Dean", "Sam", "Castiel" }; DataSuit suit = new DataSuit(); suit.Build <Person>() .Incremental(i => i.Id) .Collection(i => i.Name, names, type: ProviderType.Random) .Range(i => i.Age, 20, 48) .Range(i => i.Salary, 4000, 10000); File.WriteAllText("settings.json", suit.Export()); var loadSuit = new DataSuit(); loadSuit.Import(File.ReadAllText("settings.json")); var personGenerator = loadSuit.GeneratorOf <Person>(); var persons = personGenerator.Generate(count: 5); foreach (var person in persons) { Console.WriteLine($"{person.Id} {person.Name} {person.Age} {person.Salary}"); } }
/// <summary> /// 显示神兽信息界面 /// </summary> /// <param name="item"></param> /// <param name="playerData"></param> /// <param name="beastData"></param> private void ShowBeastInfo(IXUIListItem item, PlayerData playerData, BeastData beastData) { if (item != null && playerData != null && beastData != null) { item.SetText("NickNameAndLevel/Label_Player_Name", playerData.Name); item.SetText("NickNameAndLevel/Label_Player_Level", "LV" + playerData.Level); item.SetSprite("Icon/Sprite_Player_Icon", playerData.Icon); DataBeastlist beastList = GameData <DataBeastlist> .dataMap[beastData.BeastTypeId]; if (beastList != null) { //取得皮肤数据 DataSuit suit = null; GameData <DataSuit> .dataMap.TryGetValue(beastData.BeastTypeId, out suit); //神兽名字 string beastName = string.IsNullOrEmpty(beastList.NickName) ? "" : ("-" + beastList.NickName); //神兽皮肤名字 string beastNickname = (suit == null) ? beastList.Name : suit.Name; item.SetText("Label_Beast_Name", string.Format("{0}{1}", beastNickname, beastName)); //设置神兽皮肤 IXUIPicture beastSkin = item.GetUIObject("Picture_Beast_Skin") as IXUIPicture; if (beastSkin != null) { beastSkin.SetVisible(true); beastSkin.SetTexture(string.Format("Texture/Beast/{0}", (suit == null) ? beastList.ModelFile : suit.PicName)); } } else { item.SetVisible(false); } item.Id = playerData.PlayerId; item.SetVisible(true); } }
/// <summary> /// 创建模型,根据模型的皮肤 /// </summary> /// <param name="unBeastTypeId">神兽模型id</param> /// <param name="nSuitId">皮肤id</param> /// <param name="callBack">回调</param> public void Dowork(int unBeastTypeId, int nSuitId, Action <GameObject> callBack) { if (this.m_unBeastTypeId == unBeastTypeId && this.m_nSuitId == nSuitId) { if (null != callBack) { if (this.m_bFinished) { callBack(this.m_gameObject); } else { this.m_callBackFinish = (Action <GameObject>)Delegate.Combine(this.m_callBackFinish, callBack); } } } else { //在创建模型前先卸载之前的缓存模型 this.Unload(); this.m_unBeastTypeId = unBeastTypeId; this.m_nSuitId = nSuitId; this.m_callBackFinish = callBack; //DataSuit dataByID = DataSuitManager.Instance.GetDataByID(nSuitId); DataSuit dataByID = GameData <DataSuit> .dataMap[nSuitId]; if (null != dataByID) { //合并类型 this.m_nMergeType = dataByID.Merge; List <string> arrayList = DataExtensions.GetArrayList(dataByID.Texture); if (arrayList.Count != 0) { //加载模型皮肤需要的贴图 for (int i = 0; i < arrayList.Count; i++) { string relativeUrl = string.Format("Texture/SuitTexture/{0}", arrayList[i]); this.m_listAssetRequestSuitTexture.Add(ResourceManager.singleton.LoadTexture(relativeUrl, new AssetRequestFinishedEventHandler(this.OnLoadSuitTextureFinished), AssetPRI.DownloadPRI_Plain)); } } //加载皮肤模型 if (!string.IsNullOrEmpty(dataByID.SuitPath)) { string relativeUrl2 = string.Format("Data/Model/BeastModel/{0}", dataByID.SuitPath); this.m_assetRequestSuitModel = ResourceManager.singleton.LoadModel(relativeUrl2, new AssetRequestFinishedEventHandler(this.OnLoadSuitModelFinished), AssetPRI.DownloadPRI_Plain); } } //获取基础模型路径 this.m_strBaseModelPath = AvatarTool.GetBasePath(nSuitId, unBeastTypeId); //加载基础模型 this.m_assetRequestBaseModel = ResourceManager.singleton.LoadModel(this.m_strBaseModelPath, new AssetRequestFinishedEventHandler(this.OnLoadBaseModelFinished), AssetPRI.DownloadPRI_Plain); } }
static void Main(string[] args) { DataSuit suit = new DataSuit(); suit.Load(); var companyGenerator = suit.GeneratorOf <Company>(); var companies = companyGenerator.Generate(count: 10); foreach (var item in companies) { Console.WriteLine(item.CompanyName); foreach (var person in item.Persons) { Console.WriteLine(person.FirstName + " " + person.Age); } } }
/// <summary> /// 根据神兽id和皮肤id,获取源模型路径,如果该模型没有皮肤,就返回原始模型 /// </summary> /// <param name="nSuitId"></param> /// <param name="nBeastTypeId"></param> /// <returns></returns> public static string GetBasePath(int nSuitId, int nBeastTypeId) { string result = string.Empty; //DataSuit dataByID = DataSuitManager.Instance.GetDataByID(nSuitId); DataSuit dataByID = GameData <DataSuit> .dataMap[nSuitId]; if (dataByID != null && !string.IsNullOrEmpty(dataByID.BasePath)) { result = string.Format("Data/Model/BeastModel/{0}", dataByID.BasePath); } else { // DataBeastlist dataById = DataBeastlistManager.Instance.GetDataById(nBeastTypeId); DataBeastlist dataById = GameData <DataBeastlist> .dataMap[nBeastTypeId]; if (null != dataById) { result = string.Format("Data/Model/BeastModel/{0}/{1}", dataById.ModelFile, dataById.ModelFile); } } return(result); }
static void Main(string[] args) { ISettings settings = new Settings(); DataSuit suit = new DataSuit(settings); Console.WriteLine("Loading resources."); suit.Load(); Console.WriteLine("Resources are loaded."); var personGenerator = suit.GeneratorOf <Person>(); Console.WriteLine(); Console.WriteLine("Generating a person."); var p = personGenerator.Generate(); Console.WriteLine(p); Console.WriteLine(); Console.WriteLine("Generating list of persons."); var listOfPersons = personGenerator.Generate(count: 10); foreach (var person in listOfPersons) { Console.WriteLine(person); } suit.Build <Person>() .Dummy(i => i.Note, 15) .Range(i => i.CreditNote, 800, 1900); Console.WriteLine("Generating a person."); p = personGenerator.Generate(); Console.WriteLine(p.NoteAndCreditNote()); Console.WriteLine(); var primitiveGenerator = suit.GeneratorOfPrimitives(); Console.WriteLine("Generating list of names"); var names = primitiveGenerator.String("FirstName", count: 5); foreach (var name in names) { Console.WriteLine($"Name:{name}"); } Console.WriteLine("Generating list of ages"); var ages = primitiveGenerator.Integer("age", count: 5); foreach (var age in ages) { Console.WriteLine($"Age:{age}"); } List <Data> n = new List <Data>() { new Data() { FirstName = "John1" }, new Data() { FirstName = "John2" }, new Data() { FirstName = "John3" }, new Data() { FirstName = "John4" }, new Data() { FirstName = "John5" } }; // set a collection of data var suit2 = new DataSuit(); suit2.Build() .Collection(n); var personG = suit2.GeneratorOf <Person>(); var personss = personG.Generate(count: 5); foreach (var item in personss) { Console.WriteLine(item.FirstName); } suit.Build <Probe>() .Guid(i => i.Id) .Set(i => i.Object.Path, "Test") .Enum(i => i.ProviderType); var gen = suit.GeneratorOf <Probe>(); var dat = gen.Generate(count: 5); foreach (var item in dat) { Console.WriteLine("dat + " + item.Id + " " + item.ProviderType); } }