Esempio n. 1
0
        public async ValueTask HandleAsync(Msg msg, CancellationToken cancellationToken)
        {
            var query = GetPlayerRequest.Parser.ParseFrom(msg.Data);

            var playerReg = await m_PlayerService.GetAsync(new GetPlayerBySessionIdQuery
            {
                SessionId = query.SessionId
            }).ConfigureAwait(false);


            var reply = new GetPlayerResponse();

            if (playerReg != null)
            {
                reply.Player = new PlayerInfo
                {
                    SessionId   = playerReg.SessionId,
                    ConnectorId = playerReg.ConnectorId,
                    Name        = playerReg.Name
                };

                await m_MessageQueueService.PublishAsync(msg.Reply, reply.ToByteArray()).ConfigureAwait(false);
            }
            else
            {
                reply.Player = null;

                await m_MessageQueueService.PublishAsync(msg.Reply, reply.ToByteArray()).ConfigureAwait(false);
            }
        }