public async Task SetupAsync()
        {
            TypeAdapterConfig <MapNpcDto, MapNpc> .NewConfig()
            .ConstructUsing(src => new MapNpc(null, Logger, TestHelpers.Instance.DistanceCalculator));

            Broadcaster.Reset();
            await TestHelpers.ResetAsync().ConfigureAwait(false);

            _session = await TestHelpers.Instance.GenerateSessionAsync().ConfigureAwait(false);

            _session2 = await TestHelpers.Instance.GenerateSessionAsync().ConfigureAwait(false);

            var session3 = await TestHelpers.Instance.GenerateSessionAsync().ConfigureAwait(false);

            TestHelpers.Instance.FriendHttpClient
            .Setup(s => s.GetListFriendsAsync(It.IsAny <long>()))
            .ReturnsAsync(new List <CharacterRelationStatus>
            {
                new CharacterRelationStatus
                {
                    CharacterId         = _session2.Character.CharacterId,
                    CharacterName       = _session2.Character.Name,
                    IsConnected         = true,
                    RelationType        = CharacterRelationType.Friend,
                    CharacterRelationId = Guid.NewGuid()
                }
            });
            await TestHelpers.Instance.MinilandDao.TryInsertOrUpdateAsync(new MinilandDto()
            {
                OwnerId = _session.Character.CharacterId,
            });

            _minilandProvider = new MinilandService(TestHelpers.Instance.MapInstanceAccessorService,
                                                    TestHelpers.Instance.FriendHttpClient.Object,
                                                    new List <MapDto> {
                new Map
                {
                    MapId       = 20001,
                    NameI18NKey = "miniland",
                    Data        = new byte[] {}
                }
            },
                                                    TestHelpers.Instance.MinilandDao,
                                                    TestHelpers.Instance.MinilandObjectDao, new MinilandHolder());
            await _minilandProvider.InitializeAsync(_session.Character, TestHelpers.Instance.MapInstanceGeneratorService);

            var miniland = _minilandProvider.GetMiniland(_session.Character.CharacterId);
            await _session.ChangeMapInstanceAsync(miniland.MapInstanceId);

            await _session2.ChangeMapInstanceAsync(miniland.MapInstanceId);

            await session3.ChangeMapInstanceAsync(miniland.MapInstanceId);

            _mlEditPacketHandler = new MlEditPacketHandler(_minilandProvider);
        }
Beispiel #2
0
 public ClientSession(IOptions <WorldConfiguration> configuration, IMapInstanceAccessorService mapInstanceAccessorService,
                      IExchangeService?exchangeService, ILogger logger,
                      IEnumerable <IPacketHandler> packetsHandlers, IFriendHttpClient friendHttpClient,
                      ISerializer packetSerializer, IPacketHttpClient packetHttpClient,
                      IMinilandService?minilandProvider, IMapInstanceGeneratorService mapInstanceGeneratorService) : this(logger, packetsHandlers, friendHttpClient, packetSerializer, packetHttpClient)
 {
     _mapInstanceAccessorService = mapInstanceAccessorService;
     _exchangeProvider           = exchangeService !;
     _minilandProvider           = minilandProvider !;
     _isWorldClient = true;
     _mapInstanceGeneratorService = mapInstanceGeneratorService;
 }
Beispiel #3
0
 public Character(IInventoryService inventory, IExchangeService exchangeService, IItemGenerationService itemProvider,
                  IDao <CharacterDto, long> characterDao, IDao <IItemInstanceDto?, Guid> itemInstanceDao,
                  IDao <InventoryItemInstanceDto, Guid> inventoryItemInstanceDao, IDao <AccountDto, long> accountDao,
                  ILogger logger, IDao <StaticBonusDto, long> staticBonusDao,
                  IDao <QuicklistEntryDto, Guid> quicklistEntriesDao, IDao <MinilandDto, Guid> minilandDao,
                  IMinilandService minilandProvider, IDao <TitleDto, Guid> titleDao, IDao <CharacterQuestDto, Guid> characterQuestDao,
                  IHpService hpService, IMpService mpService, IExperienceService experienceService, IJobExperienceService jobExperienceService, IHeroExperienceService heroExperienceService, ISpeedService speedService,
                  IReputationService reputationService, IDignityService dignityService, IOptions <WorldConfiguration> worldConfiguration)
 {
     InventoryService         = inventory;
     ExchangeProvider         = exchangeService;
     ItemProvider             = itemProvider;
     GroupRequestCharacterIds = new ConcurrentDictionary <long, long>();
     Group                     = new Group(GroupType.Group);
     _characterDao             = characterDao;
     _itemInstanceDao          = itemInstanceDao;
     _accountDao               = accountDao;
     _logger                   = logger;
     _inventoryItemInstanceDao = inventoryItemInstanceDao;
     _staticBonusDao           = staticBonusDao;
     _titleDao                 = titleDao;
     QuicklistEntries          = new List <QuicklistEntryDto>();
     _quicklistEntriesDao      = quicklistEntriesDao;
     _characterQuestsDao       = characterQuestDao;
     _minilandDao              = minilandDao;
     _minilandProvider         = minilandProvider;
     _hpService                = hpService;
     _mpService                = mpService;
     _experienceService        = experienceService;
     _jobExperienceService     = jobExperienceService;
     _heroExperienceService    = heroExperienceService;
     _speedService             = speedService;
     _reputationService        = reputationService;
     _dignityService           = dignityService;
     _worldConfiguration       = worldConfiguration;
 }
 public AddobjPacketHandler(IMinilandService minilandProvider)
 {
     _minilandProvider = minilandProvider;
 }
Beispiel #5
0
 public MgPacketHandler(IMinilandService minilandProvider, IItemGenerationService itemProvider)
 {
     _minilandProvider = minilandProvider;
     _itemProvider     = itemProvider;
 }
 public MJoinPacketHandler(IFriendHttpClient friendHttpClient, IMinilandService minilandProvider)
 {
     _friendHttpClient = friendHttpClient;
     _minilandProvider = minilandProvider;
 }
 public MlEditPacketHandler(IMinilandService minilandProvider)
 {
     _minilandProvider = minilandProvider;
 }
 public MinilandEntranceHandler(IMinilandService minilandProvider)
 {
     _minilandProvider = minilandProvider;
 }
Beispiel #9
0
 public UseobjPacketHandler(IMinilandService minilandProvider, IWarehouseHttpClient warehouseHttpClient)
 {
     _minilandProvider    = minilandProvider;
     _warehouseHttpClient = warehouseHttpClient;
 }
Beispiel #10
0
 public PreqPacketHandler(IMapInstanceAccessorService mapInstanceAccessorService, IMinilandService minilandProvider, IHeuristic distanceCalculator)
 {
     _mapInstanceAccessorService = mapInstanceAccessorService;
     _minilandProvider           = minilandProvider;
     _distanceCalculator         = distanceCalculator;
 }
 public MinilandBellHandler(IMinilandService minilandProvider)
 {
     _minilandProvider = minilandProvider;
 }