コード例 #1
0
ファイル: Program.cs プロジェクト: lyzerk/DataSuit
        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}");
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: lyzerk/DataSuit
        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}");
            }
        }
コード例 #3
0
    /// <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);
        }
    }
コード例 #4
0
 /// <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);
     }
 }
コード例 #5
0
ファイル: Program.cs プロジェクト: lyzerk/DataSuit
        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);
                }
            }
        }
コード例 #6
0
    /// <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);
    }
コード例 #7
0
ファイル: Program.cs プロジェクト: lyzerk/DataSuit
        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);
            }
        }