Пример #1
0
        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));
        }