コード例 #1
0
        protected override void ReadPayload(PayloadReader reader, TerrPacketType type)
        {
            if (type != TerrPacketType.ChatMessage) throw new ArgumentException($"{nameof(type)} is not {TerrPacketType.ChatMessage}");

            PlayerId = reader.ReadByte();
            Color = reader.ReadTerrColor();
            Text = reader.ReadString();
        }
コード例 #2
0
        protected override void ReadPayload(PayloadReader reader, TerrPacketType type)
        {
            CheckForValidType(type, TerrPacketType.PlayerAppearance);

            PlayerId = reader.ReadByte();

            foreach (PropertyInfo prop in GetType().GetProperties())
            {
                if (prop.PropertyType == typeof(byte))
                    prop.SetValue(this, reader.ReadByte());

                else if (prop.PropertyType == typeof(TerrColor))
                    prop.SetValue(this, reader.ReadTerrColor());

                else if (prop.PropertyType == typeof(string))
                    prop.SetValue(this, reader.ReadString());
            }
        }