Exemple #1
0
        /// <inheritdoc />
        public ArmorSkin Convert(SkinDTO value, object state)
        {
            var entity = new UnknownArmorSkin();

            this.Merge(entity, value, state);
            return(entity);
        }
        /// <summary>Converts the given object of type <see cref="SkinDataContract"/> to an object of type <see cref="ArmorSkin"/>.</summary>
        /// <param name="value">The value to convert.</param>
        /// <param name="state"></param>
        /// <returns>The converted value.</returns>
        public ArmorSkin Convert(SkinDataContract value, object state)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value", "Precondition: value != null");
            }

            ArmorSkin armorSkin;
            var       armorSkinDataContract = value.Armor;
            IConverter <ArmorSkinDataContract, ArmorSkin> converter;

            if (armorSkinDataContract != null && this.typeConverters.TryGetValue(armorSkinDataContract.Type, out converter))
            {
                armorSkin = converter.Convert(armorSkinDataContract, state);
            }
            else
            {
                armorSkin = new UnknownArmorSkin();
            }

            if (armorSkinDataContract == null)
            {
                return(armorSkin);
            }

            var weightClass = armorSkinDataContract.WeightClass;

            if (weightClass != null)
            {
                armorSkin.WeightClass = this.converterForWeightClass.Convert(weightClass, state);
            }

            return(armorSkin);
        }
Exemple #3
0
 // Implement this method in a buddy class to set properties that are specific to 'UnknownArmorSkin' (if any)
 partial void Merge(UnknownArmorSkin entity, SkinDTO dto, object state);