public async UniTaskVoid HandleRequestAddFriend(RequestHandlerData requestHandler, RequestAddFriendMessage request, RequestProceedResultDelegate <ResponseAddFriendMessage> result) { #if UNITY_STANDALONE && !CLIENT_BUILD IPlayerCharacterData playerCharacter; if (!GameInstance.ServerUserHandlers.TryGetPlayerCharacter(requestHandler.ConnectionId, out playerCharacter)) { result.Invoke(AckResponseCode.Error, new ResponseAddFriendMessage() { message = UITextKeys.UI_ERROR_NOT_LOGGED_IN, }); return; } ReadFriendsResp resp = await DbServiceClient.CreateFriendAsync(new CreateFriendReq() { Character1Id = playerCharacter.Id, Character2Id = request.friendId, }); GameInstance.ServerGameMessageHandlers.SendSetFriends(requestHandler.ConnectionId, resp.List.MakeArrayFromRepeatedByteString <SocialCharacterData>()); result.Invoke(AckResponseCode.Success, new ResponseAddFriendMessage() { message = UITextKeys.UI_FRIEND_ADDED, }); #endif }
public async UniTaskVoid HandleRequestAddFriend(RequestHandlerData requestHandler, RequestAddFriendMessage request, RequestProceedResultDelegate <ResponseAddFriendMessage> result) { #if UNITY_STANDALONE && !CLIENT_BUILD IPlayerCharacterData playerCharacter; if (!GameInstance.ServerUserHandlers.TryGetPlayerCharacter(requestHandler.ConnectionId, out playerCharacter)) { result.InvokeError(new ResponseAddFriendMessage() { message = UITextKeys.UI_ERROR_NOT_LOGGED_IN, }); return; } AsyncResponseData <EmptyMessage> resp = await DbServiceClient.CreateFriendAsync(new CreateFriendReq() { Character1Id = playerCharacter.Id, Character2Id = request.friendId, State = 0, }); if (!resp.IsSuccess) { result.InvokeError(new ResponseAddFriendMessage() { message = UITextKeys.UI_ERROR_INTERNAL_SERVER_ERROR, }); return; } result.InvokeSuccess(new ResponseAddFriendMessage() { message = UITextKeys.UI_FRIEND_ADDED, }); #endif }