private ICharacter GetNextCharacter(IPacket packet) { ICharacter character = new Character() .WithName(packet.ReadBreakString()) .WithID(packet.ReadInt()); var stats = new CharacterStats() .WithNewStat(CharacterStat.Level, packet.ReadChar()); var renderProperties = new CharacterRenderProperties() .WithGender(packet.ReadChar()) .WithHairStyle(packet.ReadChar()) .WithHairColor(packet.ReadChar()) .WithRace(packet.ReadChar()); character = character.WithAdminLevel((AdminLevel)packet.ReadChar()); renderProperties = renderProperties .WithBootsGraphic(packet.ReadShort()) .WithArmorGraphic(packet.ReadShort()) .WithHatGraphic(packet.ReadShort()) .WithShieldGraphic(packet.ReadShort()) .WithWeaponGraphic(packet.ReadShort()); return(character .WithRenderProperties(renderProperties) .WithStats(stats)); }