Пример #1
0
        public static async Task EnsureSeedData(this MUDContext context)
        {
            var mudDataAccess = new MUDDataAccess(context);

            if (!context.Database.GetPendingMigrations().Any())
            {
                if (!context.Cells.Any())
                {
                    var world = await mudDataAccess.CreateNewWorld("Test");

                    //int x = 0;
                    //int y = 0;
                    string description = "Rolling grassy hills stretch out as far as you can see.";
                    var    entities    = new List <Entity>();
                    int    z           = 0;
                    for (int i = 0; i < 3; i++)
                    {
                        for (int j = 0; j < 3; j++)
                        {
                            await mudDataAccess.CreateNewCell(world, i, j, z, description, entities);
                        }
                    }
                }

                //if (!context.Players.Any())
                //{
                //}
            }
        }
Пример #2
0
        public async Task <IActionResult> Import(WorldImportViewModel request)
        {
            var world = await _mudDataAccess.CreateNewWorld(request.WorldDefinition.Name);

            foreach (var jCell in request.WorldDefinition.Cells)
            {
                var entities = new List <Entity>();

                foreach (var jEntity in jCell.Entities)
                {
                    var entityId = Guid.NewGuid();
                    switch (jEntity.Type)
                    {
                    case Entity.EntityType.Item:
                        var item = new Item()
                        {
                            EntityId    = entityId,
                            Type        = Entity.EntityType.Item,
                            Name        = jEntity.Name,
                            Description = jEntity.Description,
                            Effects     = new List <Effect>() //not going to worry about this yet
                        };
                        entities.Add(item);
                        break;

                    default:
                        var entity = new Entity()
                        {
                            EntityId    = entityId,
                            Name        = jEntity.Name,
                            Description = jEntity.Description,
                            Type        = Entity.EntityType.None
                        };
                        entities.Add(entity);
                        break;
                    }
                }

                var cell = _mudDataAccess.CreateNewCell(world, jCell.X, jCell.Y, jCell.Z, jCell.Description, entities);
            }

            return(View());
        }