/// <summary> /// Initializes a new instance of the <see cref="InsertHousePacket"/> class. /// </summary> /// <param name="message"></param> public InsertHousePacket(INetworkMessage message) { this.Count = message.GetUInt16(); this.HouseId = message.GetUInt16(); this.Name = message.GetString(); this.Rent = message.GetUInt32(); this.Description = message.GetString(); this.SquareMeters = message.GetUInt16(); this.EntranceX = message.GetUInt16(); this.EntranceY = message.GetUInt16(); this.EntranceZ = message.GetByte(); this.Town = message.GetString(); this.IsGuildHouse = message.GetByte(); }
/// <summary> /// Reads a packet from the given <see cref="INetworkMessage"/>. /// </summary> /// <param name="message">The message to read from.</param> /// <returns>The packet read from the message.</returns> public override IIncomingPacket ReadFromMessage(INetworkMessage message) { message.ThrowIfNull(nameof(message)); SpeechType type = (SpeechType)message.GetByte(); switch (type) { case SpeechType.Private: // case SpeechType.PrivateRed: case SpeechType.RuleViolationAnswer: return new SpeechPacket(type, ChatChannelType.Private, receiver: message.GetString(), content: message.GetString()); case SpeechType.ChannelYellow: // case SpeechType.ChannelRed: // case SpeechType.ChannelRedAnonymous: // case SpeechType.ChannelWhite: return new SpeechPacket(type, channelId: (ChatChannelType)message.GetUInt16(), content: message.GetString()); default: return new SpeechPacket(type, channelId: ChatChannelType.None, content: message.GetString()); } }
public void NetworkMessage_GetStringTest() { const string ExpectedValue = "All your base are belong to us."; const int ExpectedLength = 31; byte[] bytesFromValue = Encoding.Default.GetBytes(ExpectedValue); byte[] bytesFromLength = BitConverter.GetBytes((ushort)bytesFromValue.Length); byte[] allBytesToAdd = bytesFromLength.Concat(bytesFromValue).ToArray(); INetworkMessage testMessage1 = this.SetupInboundMessage(allBytesToAdd); Assert.IsNotNull(testMessage1); Assert.AreEqual(0, testMessage1.Cursor); Assert.AreEqual(ExpectedLength + 2, testMessage1.Length); // Test resetting the message. var valueRead = testMessage1.GetString(); Assert.AreEqual(ExpectedValue, valueRead); Assert.AreEqual(ExpectedLength + 2, testMessage1.Cursor); Assert.AreEqual(ExpectedLength + 2, testMessage1.Length); }