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(); }
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()); } }