public ClientSession(ServerConfiguration configuration, IMapInstanceProvider?mapInstanceProvider, IExchangeProvider?exchangeProvider, ILogger logger, IEnumerable <IPacketHandler> packetsHandlers, IFriendHttpClient friendHttpClient, ISerializer packetSerializer, IPacketHttpClient packetHttpClient, IMinilandProvider?minilandProvider) : base(logger) { _logger = logger; _packetsHandlers = packetsHandlers.ToList(); _friendHttpClient = friendHttpClient; _packetSerializer = packetSerializer; _packetHttpClient = packetHttpClient; if (!(configuration is WorldConfiguration worldConfiguration)) { return; } WorldConfiguration = worldConfiguration; _mapInstanceProvider = mapInstanceProvider !; _exchangeProvider = exchangeProvider !; _minilandProvider = minilandProvider !; _isWorldClient = true; foreach (var handler in _packetsHandlers) { var type = handler.GetType().BaseType?.GenericTypeArguments[0] !; if (!_attributeDic.ContainsKey(type ?? throw new InvalidOperationException())) { _attributeDic.Add(type, type.GetCustomAttribute <PacketHeaderAttribute>(true) !); } } }
public FinsPacketHandler(IFriendHttpClient friendHttpClient, IChannelHttpClient channelHttpClient, IConnectedAccountHttpClient connectedAccountHttpClient) { _friendHttpClient = friendHttpClient; _channelHttpClient = channelHttpClient; _connectedAccountHttpClient = connectedAccountHttpClient; }
public static void SendFinfo(this ICharacterEntity visualEntity, IFriendHttpClient friendHttpClient, IPacketHttpClient packetHttpClient, ISerializer packetSerializer, bool isConnected) { var friendlist = friendHttpClient.GetListFriends(visualEntity.VisualId); foreach (var friend in friendlist) { packetHttpClient.BroadcastPacket(new PostedPacket { Packet = packetSerializer.Serialize(new[] { new FinfoPacket { FriendList = new List <FinfoSubPackets> { new FinfoSubPackets { CharacterId = visualEntity.VisualId, IsConnected = isConnected } } } }), ReceiverType = ReceiverType.OnlySomeone, SenderCharacter = new Data.WebApi.Character { Id = visualEntity.VisualId, Name = visualEntity.Name }, ReceiverCharacter = new Data.WebApi.Character { Id = friend.CharacterId, Name = friend.CharacterName } }); } }
public static async Task SendFinfoAsync(this ICharacterEntity visualEntity, IFriendHttpClient friendHttpClient, IPacketHttpClient packetHttpClient, ISerializer packetSerializer, bool isConnected) { var friendlist = await friendHttpClient.GetListFriendsAsync(visualEntity.VisualId).ConfigureAwait(false); await Task.WhenAll(friendlist.Select(friend => packetHttpClient.BroadcastPacketAsync(new PostedPacket { Packet = packetSerializer.Serialize(new[] { new FinfoPacket { FriendList = new List <FinfoSubPackets?> { new FinfoSubPackets { CharacterId = visualEntity.VisualId, IsConnected = isConnected } } } }), ReceiverType = ReceiverType.OnlySomeone, SenderCharacter = new Data.WebApi.Character { Id = visualEntity.VisualId, Name = visualEntity.Name ! },
public BtkPacketHandler(ILogger logger, ISerializer packetSerializer, IFriendHttpClient friendHttpClient, IPacketHttpClient packetHttpClient, IConnectedAccountHttpClient connectedAccountHttpClient) { _logger = logger; _packetSerializer = packetSerializer; _friendHttpClient = friendHttpClient; _connectedAccountHttpClient = connectedAccountHttpClient; _packetHttpClient = packetHttpClient; }
public void Setup() { Broadcaster.Reset(); TestHelpers.Reset(); _friendHttpClient = new Mock <IFriendHttpClient>().Object; TestHelpers.Instance.WorldConfiguration.BackpackSize = 3; _instanceProvider = TestHelpers.Instance.MapInstanceProvider; _session = TestHelpers.Instance.GenerateSession(); }
public MinilandProvider(IMapInstanceProvider mapInstanceProvider, IFriendHttpClient friendHttpClient, List <MapDto> maps, IGenericDao <MinilandDto> minilandDao, IGenericDao <MinilandObjectDto> minilandObjectsDao) { _mapInstanceProvider = mapInstanceProvider; _friendHttpClient = friendHttpClient; _maps = maps; _minilandIds = new ConcurrentDictionary <long, Miniland>(); _minilandDao = minilandDao; _minilandObjectsDao = minilandObjectsDao; }
public MinilandService(IMapInstanceAccessorService mapInstanceAccessorService, IFriendHttpClient friendHttpClient, List <MapDto> maps, IDao <MinilandDto, Guid> minilandDao, IDao <MinilandObjectDto, Guid> minilandObjectsDao, MinilandHolder minilandHolder) { _mapInstanceAccessorService = mapInstanceAccessorService; _friendHttpClient = friendHttpClient; _maps = maps; _minilandDao = minilandDao; _minilandObjectsDao = minilandObjectsDao; _minilandHolder = minilandHolder; }
public ClientSession(IOptions <WorldConfiguration> configuration, IMapInstanceProvider?mapInstanceProvider, IExchangeProvider?exchangeProvider, ILogger logger, IEnumerable <IPacketHandler> packetsHandlers, IFriendHttpClient friendHttpClient, ISerializer packetSerializer, IPacketHttpClient packetHttpClient, IMinilandProvider?minilandProvider) : this(logger, packetsHandlers, friendHttpClient, packetSerializer, packetHttpClient) { _mapInstanceProvider = mapInstanceProvider !; _exchangeProvider = exchangeProvider !; _minilandProvider = minilandProvider !; _isWorldClient = true; }
public GameStartPacketHandler(WorldConfiguration worldConfiguration, IFriendHttpClient friendHttpClient, IChannelHttpClient channelHttpClient, IConnectedAccountHttpClient connectedAccountHttpClient, IBlacklistHttpClient blacklistHttpClient, IPacketHttpClient packetHttpClient, ISerializer packetSerializer, IMailHttpClient mailHttpClient) { _worldConfiguration = worldConfiguration; _packetSerializer = packetSerializer; _blacklistHttpClient = blacklistHttpClient; _connectedAccountHttpClient = connectedAccountHttpClient; _channelHttpClient = channelHttpClient; _friendHttpClient = friendHttpClient; _packetHttpClient = packetHttpClient; _mailHttpClient = mailHttpClient; }
public GameStartPacketHandler(IOptions <WorldConfiguration> worldConfiguration, IFriendHttpClient friendHttpClient, IChannelHttpClient channelHttpClient, IConnectedAccountHttpClient connectedAccountHttpClient, IBlacklistHttpClient blacklistHttpClient, IPacketHttpClient packetHttpClient, ISerializer packetSerializer, IMailHttpClient mailHttpClient, IQuestService questProvider) { _worldConfiguration = worldConfiguration; _packetSerializer = packetSerializer; _blacklistHttpClient = blacklistHttpClient; _connectedAccountHttpClient = connectedAccountHttpClient; _channelHttpClient = channelHttpClient; _friendHttpClient = friendHttpClient; _packetHttpClient = packetHttpClient; _mailHttpClient = mailHttpClient; _questProvider = questProvider; }
public ClientSession(ILogger logger, IEnumerable <IPacketHandler> packetsHandlers, IFriendHttpClient friendHttpClient, ISerializer packetSerializer, IPacketHttpClient packetHttpClient) : base(logger) { _logger = logger; _packetsHandlers = packetsHandlers.ToList(); _friendHttpClient = friendHttpClient; _packetSerializer = packetSerializer; _packetHttpClient = packetHttpClient; foreach (var handler in _packetsHandlers) { var type = handler.GetType().BaseType?.GenericTypeArguments[0] !; if (!_attributeDic.ContainsKey(type ?? throw new InvalidOperationException())) { _attributeDic.Add(type, type.GetCustomAttribute <PacketHeaderAttribute>(true) !); } } }
public static FinitPacket GenerateFinit(this ICharacterEntity visualEntity, IFriendHttpClient friendHttpClient, IChannelHttpClient channelHttpClient, IConnectedAccountHttpClient connectedAccountHttpClient) { //same canal var servers = channelHttpClient.GetChannels() ?.Where(c => c.Type == ServerType.WorldServer).ToList(); var accounts = new List <ConnectedAccount>(); foreach (var server in servers ?? new List <ChannelInfo>()) { accounts.AddRange( connectedAccountHttpClient.GetConnectedAccount(server)); } var subpackets = new List <FinitSubPacket>(); var friendlist = friendHttpClient.GetListFriends(visualEntity.VisualId); //TODO add spouselist //var spouseList = _webApiAccess.Get<List<CharacterRelationDto>>(WebApiRoute.Spouse, friendServer.WebApi, visualEntity.VisualId) ?? new List<CharacterRelationDto>(); foreach (var relation in friendlist) { var account = accounts.Find(s => (s.ConnectedCharacter != null) && (s.ConnectedCharacter.Id == relation.CharacterId)); subpackets.Add(new FinitSubPacket { CharacterId = relation.CharacterId, RelationType = relation.RelationType, IsOnline = account != null, CharacterName = relation.CharacterName }); } return(new FinitPacket { SubPackets = subpackets }); }
public ClientSession(ServerConfiguration configuration, ILogger logger, IEnumerable <IPacketHandler> packetsHandlers, IFriendHttpClient friendHttpClient, ISerializer packetSerializer, IPacketHttpClient packetHttpClient) : this(configuration, null, null, logger, packetsHandlers, friendHttpClient, packetSerializer, packetHttpClient, null) { }
public ClientSession(IOptions <LoginConfiguration> configuration, ILogger logger, IEnumerable <IPacketHandler> packetsHandlers, IFriendHttpClient friendHttpClient, ISerializer packetSerializer, IPacketHttpClient packetHttpClient) : this(logger, packetsHandlers, friendHttpClient, packetSerializer, packetHttpClient) { }
public MJoinPacketHandler(IFriendHttpClient friendHttpClient, IMinilandProvider minilandProvider) { _friendHttpClient = friendHttpClient; _minilandProvider = minilandProvider; }