protected void AppendByTypeInListPack(TypeThing typeThing, int count = 1) { for (int i = 0; i < count; i++) { ThingFull thingFull = Instantiate(poolThings.DictionaryThings[typeThing]); //switch (typeThing) //{ // case TypeThing.Type1x1: // thingFull.SetBack(IconManager.GetRandomSprite1x1()); // break; // case TypeThing.Type1x2: // thingFull.SetBack(IconManager.GetRandomSprite1x2()); // break; // case TypeThing.Type2x1: // thingFull.SetBack(IconManager.GetRandomSprite2x1()); // break; // case TypeThing.Other: // break; // default: // break; //} poolThings.AddToListPack(thingFull); } }
public Thing Create(object paramsStart) { ThingModel thingModel = (ThingModel)paramsStart; this.IdThing = thingModel.IdThing; this.Name = thingModel.Name; this.HasHealth = thingModel.HasHealth; this.Health = thingModel.Health; this.TypeThing = thingModel.TypeThing; return(this); }
/// <summary> /// Demo method for populating the database. You wouldn't do this in production. /// </summary> /// <param name="sp">The <see cref="IServiceProvider"/>.</param> private void CheckAndSeed(IServiceProvider sp) { var context = sp.GetService <ThingContext>(); if (!context.Database.EnsureCreated()) { return; } var memberAdapter = ServiceHost.GetService <IMemberAdapter>(); var random = new Random(); Type[] types = GetType().Assembly.GetTypes() .Where(t => !t.IsAnonymousType()) .Distinct().ToArray(); Type GetRandomType() => types[random.Next(types.Length)]; var num = 50; TypeThing NewThing() { var type = GetRandomType(); var result = new TypeThing { Id = Guid.NewGuid().ToString(), Name = memberAdapter.GetKeyForMember(type), Value = random.Next(), IsActive = random.NextDouble() > 0.3, Created = DateTime.Now.AddMinutes(-5 * random.Next(60 * 24 * 28)), }; foreach (var method in type.GetMethods()) { var methodThing = new MethodThing { Id = Guid.NewGuid().ToString(), Name = memberAdapter.GetKeyForMember(method), }; result.Methods.Add(methodThing); foreach (var parameter in method.GetParameters()) { var typeName = memberAdapter.GetKeyForMember( parameter.ParameterType); var parameterThing = new ParameterThing { Id = Guid.NewGuid().ToString(), Name = $"{parameter.Name}:{typeName}", }; methodThing.Parameters.Add(parameterThing); } } return(result); } while (num-- > 0) { var thing = NewThing(); context.Types.Add(thing); } context.SaveChanges(); }