public static BaseWorldTcpMessage ReadMessage(IncomingMessage inMessage) { BaseWorldTcpMessage rv; byte[] data = inMessage.ReadBytes(); IncomingMessage subMsg = new IncomingMessage(data, inMessage); WorldTcpMessageType messageType = subMsg.ReadWorldTcpMessageType(); switch (messageType) { case WorldTcpMessageType.CharacterResponse: rv = new WorldCharacterResponseMessage(); break; case WorldTcpMessageType.CharacterCreateResponse: rv = new WorldCharacterCreateResponseMessage(); break; case WorldTcpMessageType.CharacterDeleteResponse: rv = new WorldCharacterDeleteResponseMessage(); break; case WorldTcpMessageType.CharacterSelectResponse: rv = new WorldCharacterSelectResponseMessage(); break; default: log.ErrorFormat("Unhandled world tcp message type: {0}", messageType); return null; } log.InfoFormat("WorldTcpMessageFactory got message type: {0}", messageType); rv.ParseWorldTcpMessage(subMsg); return rv; }
protected override void ParseMessage(IncomingMessage inMessage) { version = inMessage.ReadString(); worldToken = inMessage.ReadBytes(); error = inMessage.ReadString(); int entryCount = inMessage.ReadInt32(); entries = new List<PropertyMap>(); for (int i = 0; i < entryCount; ++i) { PropertyMap entry = new PropertyMap(); entry.OldParseMessage(inMessage); entries.Add(entry); } }
protected override void ParseMessage(IncomingMessage inMessage) { int subMessageCount = inMessage.ReadInt32(); for (int i = 0; i < subMessageCount; i++) { byte[] subMessageBytes = inMessage.ReadBytes(); IncomingMessage subMessage = new IncomingMessage(subMessageBytes, inMessage); BaseWorldMessage msg = WorldMessageFactory.ReadMessage(subMessage); if (msg != null) subMessages.Add(msg); else log.WarnFormat("AggregatedRDP.ParseMessage got null when reading message from {0} bytes", subMessageBytes.Length); } }
protected override void ParseMessage(IncomingMessage inMessage) { loginStatus = (LoginStatus)inMessage.ReadInt32(); masterToken = inMessage.ReadBytes(); oldToken = inMessage.ReadBytes(); }
protected override void ParseMessage(IncomingMessage inMessage) { version = inMessage.ReadInt32(); challenge = inMessage.ReadBytes(); }
protected override void ParseMessage(IncomingMessage inMessage) { messageNumber = inMessage.ReadInt32(); fragmentNumber = inMessage.ReadInt32(); if (fragmentNumber == 0) numFragments = inMessage.ReadInt32(); payload = inMessage.ReadBytes(); }