예제 #1
0
        public override Task <MatchGameReply> MatchGame(MatchGameRequest request, ServerCallContext context)
        {
            if (!TokenAuthentification(context.RequestHeaders, out string clientTokenValue))
            {
                return(Task.FromResult(new MatchGameReply()
                {
                    RequestState = false
                }));
            }

            if (!_registredUsers.TryGetValue(clientTokenValue, out UserDataInfo userDataInfo))
            {
                Log.Info($"couldn't get user data info!");
                return(Task.FromResult(new MatchGameReply()
                {
                    RequestState = false
                }));
            }

            return(Task.FromResult(new MatchGameReply()
            {
                RequestState = true,
                MatchGame = GetMatchGame(userDataInfo.GameId, userDataInfo.PlayerId)
            }));
        }
예제 #2
0
 public override AsyncUnaryCall <MatchGameReply> MatchGameAsync(MatchGameRequest request, Metadata headers = null, DateTime?deadline = null, CancellationToken cancellationToken = default)
 {
     return(base.MatchGameAsync(request, headers, deadline, cancellationToken));
 }