public async UniTaskVoid HandleRequestReadMail(RequestHandlerData requestHandler, RequestReadMailMessage request, RequestProceedResultDelegate <ResponseReadMailMessage> result) { #if UNITY_STANDALONE && !CLIENT_BUILD IPlayerCharacterData playerCharacter; if (GameInstance.ServerUserHandlers.TryGetPlayerCharacter(requestHandler.ConnectionId, out playerCharacter)) { UpdateReadMailStateResp resp = await DbServiceClient.UpdateReadMailStateAsync(new UpdateReadMailStateReq() { MailId = request.id, UserId = playerCharacter.UserId, }); UITextKeys message = resp.Error; result.Invoke( message == UITextKeys.NONE ? AckResponseCode.Success : AckResponseCode.Error, new ResponseReadMailMessage() { message = message, mail = resp.Mail, }); } else { result.Invoke(AckResponseCode.Error, new ResponseReadMailMessage() { message = UITextKeys.UI_ERROR_SERVICE_NOT_AVAILABLE, }); } #endif }
public async UniTaskVoid HandleRequestReadMail(RequestHandlerData requestHandler, RequestReadMailMessage request, RequestProceedResultDelegate <ResponseReadMailMessage> result) { #if UNITY_STANDALONE && !CLIENT_BUILD string userId; if (GameInstance.ServerUserHandlers.TryGetUserId(requestHandler.ConnectionId, out userId)) { AsyncResponseData <UpdateReadMailStateResp> resp = await DbServiceClient.UpdateReadMailStateAsync(new UpdateReadMailStateReq() { MailId = request.id, UserId = userId, }); if (!resp.IsSuccess) { result.InvokeError(new ResponseReadMailMessage() { message = UITextKeys.UI_ERROR_INTERNAL_SERVER_ERROR, }); return; } UITextKeys message = resp.Response.Error; result.Invoke( message == UITextKeys.NONE ? AckResponseCode.Success : AckResponseCode.Error, new ResponseReadMailMessage() { message = message, mail = resp.Response.Mail, }); } else { result.Invoke(AckResponseCode.Error, new ResponseReadMailMessage() { message = UITextKeys.UI_ERROR_SERVICE_NOT_AVAILABLE, }); } #endif }