protected async UniTaskVoid HandleRequestCharacters( RequestHandlerData requestHandler, EmptyMessage request, RequestProceedResultDelegate <ResponseCharactersMessage> result) { #if UNITY_STANDALONE && !CLIENT_BUILD long connectionId = requestHandler.ConnectionId; UITextKeys message = UITextKeys.NONE; List <PlayerCharacterData> characters = null; CentralUserPeerInfo userPeerInfo; if (!userPeers.TryGetValue(connectionId, out userPeerInfo)) { message = UITextKeys.UI_ERROR_NOT_LOGGED_IN; } else { CharactersResp charactersResp = await DbServiceClient.ReadCharactersAsync(new ReadCharactersReq() { UserId = userPeerInfo.userId }); characters = charactersResp.List; } // Response result.Invoke( message == UITextKeys.NONE ? AckResponseCode.Success : AckResponseCode.Error, new ResponseCharactersMessage() { message = message, characters = characters, }); #endif }
protected async UniTaskVoid HandleRequestCharacters( RequestHandlerData requestHandler, EmptyMessage request, RequestProceedResultDelegate <ResponseCharactersMessage> result) { long connectionId = requestHandler.ConnectionId; ResponseCharactersMessage.Error error = ResponseCharactersMessage.Error.None; List <PlayerCharacterData> characters = null; CentralUserPeerInfo userPeerInfo; if (!userPeers.TryGetValue(connectionId, out userPeerInfo)) { error = ResponseCharactersMessage.Error.NotLoggedin; } else { CharactersResp charactersResp = await DbServiceClient.ReadCharactersAsync(new ReadCharactersReq() { UserId = userPeerInfo.userId }); characters = DatabaseServiceUtils.MakeListFromRepeatedByteString <PlayerCharacterData>(charactersResp.List); } // Response result.Invoke( error == ResponseCharactersMessage.Error.None ? AckResponseCode.Success : AckResponseCode.Error, new ResponseCharactersMessage() { error = error, characters = characters, }); }
private async UniTaskVoid HandleRequestCharactersRoutine(LiteNetLibMessageHandler messageHandler) { long connectionId = messageHandler.connectionId; RequestCharactersMessage message = messageHandler.ReadMessage <RequestCharactersMessage>(); ResponseCharactersMessage.Error error = ResponseCharactersMessage.Error.None; List <PlayerCharacterData> characters = null; CentralUserPeerInfo userPeerInfo; if (!userPeers.TryGetValue(connectionId, out userPeerInfo)) { error = ResponseCharactersMessage.Error.NotLoggedin; } else { CharactersResp charactersResp = await DbServiceClient.ReadCharactersAsync(new ReadCharactersReq() { UserId = userPeerInfo.userId }); characters = DatabaseServiceUtils.MakeListFromRepeatedByteString <PlayerCharacterData>(charactersResp.List); } ResponseCharactersMessage responseMessage = new ResponseCharactersMessage(); responseMessage.ackId = message.ackId; responseMessage.responseCode = error == ResponseCharactersMessage.Error.None ? AckResponseCode.Success : AckResponseCode.Error; responseMessage.error = error; responseMessage.characters = characters; ServerSendResponse(connectionId, MMOMessageTypes.ResponseCharacters, responseMessage); }
protected async UniTaskVoid HandleRequestCharacters( RequestHandlerData requestHandler, EmptyMessage request, RequestProceedResultDelegate <ResponseCharactersMessage> result) { #if UNITY_STANDALONE && !CLIENT_BUILD long connectionId = requestHandler.ConnectionId; CentralUserPeerInfo userPeerInfo; if (!userPeers.TryGetValue(connectionId, out userPeerInfo)) { result.InvokeError(new ResponseCharactersMessage() { message = UITextKeys.UI_ERROR_NOT_LOGGED_IN, }); return; } // Get characters from server AsyncResponseData <CharactersResp> charactersResp = await DbServiceClient.ReadCharactersAsync(new ReadCharactersReq() { UserId = userPeerInfo.userId }); if (!charactersResp.IsSuccess) { result.InvokeError(new ResponseCharactersMessage() { message = UITextKeys.UI_ERROR_INTERNAL_SERVER_ERROR, }); return; } // Response result.InvokeSuccess(new ResponseCharactersMessage() { characters = charactersResp.Response.List, }); #endif }