public async Task <DungeonOption> AddDungeonOptionAsync(DungeonOption dungeonOption, CancellationToken cancellationToken)
        {
            _context.Add(dungeonOption);
            await _context.SaveChangesAsync(cancellationToken);

            return(dungeonOption);
        }
        public async Task <DungeonOption> UpdateDungeonOptionAsync(DungeonOption dungeonOption, CancellationToken cancellationToken)
        {
            var local = await _context.DungeonOptions.FirstOrDefaultAsync(d => d.Id == dungeonOption.Id, cancellationToken);

            if (local != null)
            {
                _mapper.Map(dungeonOption, local);
                await _context.SaveChangesAsync(cancellationToken);
            }

            return(local);
        }
Esempio n. 3
0
        private async Task SeedDungeons(CancellationToken token)
        {
            var dungeonOption = new DungeonOption()
            {
                UserId            = 1,
                DungeonName       = "Test1",
                Created           = DateTime.UtcNow,
                ItemsRarity       = 1,
                DeadEnd           = true,
                DungeonDifficulty = 1,
                DungeonSize       = 20,
                MonsterType       = "any",
                PartyLevel        = 4,
                PartySize         = 4,
                TrapPercent       = 20,
                RoamingPercent    = 10,
                TreasureValue     = 1,
                RoomDensity       = 10,
                RoomSize          = 20,
                Corridor          = true
            };

            _context.DungeonOptions.Add(dungeonOption);
            await _context.SaveChangesAsync(token);

            var model = new DungeonOptionModel()
            {
                DungeonName       = dungeonOption.DungeonName,
                Created           = dungeonOption.Created,
                ItemsRarity       = dungeonOption.ItemsRarity,
                DeadEnd           = dungeonOption.DeadEnd,
                DungeonDifficulty = dungeonOption.DungeonDifficulty,
                DungeonSize       = dungeonOption.DungeonSize,
                MonsterType       = dungeonOption.MonsterType,
                PartyLevel        = dungeonOption.PartyLevel,
                PartySize         = dungeonOption.PartySize,
                TrapPercent       = dungeonOption.TrapPercent,
                RoamingPercent    = dungeonOption.RoamingPercent,
                TreasureValue     = dungeonOption.TreasureValue,
                RoomDensity       = dungeonOption.RoomDensity,
                RoomSize          = dungeonOption.RoomSize,
                Corridor          = dungeonOption.Corridor,
                Id     = dungeonOption.Id,
                UserId = dungeonOption.UserId
            };

            var sd = await _dungeonService.GenerateDungeonAsync(model);

            sd.Level = 1;
            await _dungeonService.AddDungeonAsync(sd, token);

            dungeonOption = new DungeonOption()
            {
                UserId            = 1,
                DungeonName       = "Test2",
                Created           = DateTime.UtcNow,
                ItemsRarity       = 1,
                DeadEnd           = true,
                DungeonDifficulty = 1,
                DungeonSize       = 25,
                MonsterType       = "any",
                PartyLevel        = 4,
                PartySize         = 4,
                TrapPercent       = 20,
                RoamingPercent    = 0,
                TreasureValue     = 1,
                RoomDensity       = 10,
                RoomSize          = 20,
                Corridor          = false
            };
            _context.DungeonOptions.Add(dungeonOption);
            await _context.SaveChangesAsync(token);

            model = new DungeonOptionModel()
            {
                DungeonName       = dungeonOption.DungeonName,
                Created           = dungeonOption.Created,
                ItemsRarity       = dungeonOption.ItemsRarity,
                DeadEnd           = dungeonOption.DeadEnd,
                DungeonDifficulty = dungeonOption.DungeonDifficulty,
                DungeonSize       = dungeonOption.DungeonSize,
                MonsterType       = dungeonOption.MonsterType,
                PartyLevel        = dungeonOption.PartyLevel,
                PartySize         = dungeonOption.PartySize,
                TrapPercent       = dungeonOption.TrapPercent,
                RoamingPercent    = dungeonOption.RoamingPercent,
                TreasureValue     = dungeonOption.TreasureValue,
                RoomDensity       = dungeonOption.RoomDensity,
                RoomSize          = dungeonOption.RoomSize,
                Corridor          = dungeonOption.Corridor,
                Id     = dungeonOption.Id,
                UserId = dungeonOption.UserId
            };

            sd = await _dungeonService.GenerateDungeonAsync(model);

            sd.Level = 1;
            await _dungeonService.AddDungeonAsync(sd, token);
        }