Beispiel #1
0
        /// <summary>
        /// Reads and returns the next message from the game server.
        /// </summary>
        public async Task <ServerMessage> ReadNextMessage()
        {
            var result = string.Empty;

            using (var sr = StreamFactory.CreateReader(_client.GetStream()))
            {
                result = await sr.ReadLineAsync();
            }

            var parsed = Serializer.Deserialize <NetworkResponseModel>(result);

            if (!EnumParser.TryParse <ResponseStatusType>(parsed.ResponseStatus, out var status))
            {
                status = ResponseStatusType.Invalid;
            }

            return(new ServerMessage(result, status.ToString()));
        }