Exemplo n.º 1
0
    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);
        }
    }
Exemplo n.º 2
0
        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();
        }