Example #1
0
 /// <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();
 }
Example #2
0
        /// <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());
            }
        }
Example #3
0
        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);
        }