public static LeveledSpell DeepCopy(
     this ILeveledSpellGetter item,
     LeveledSpell.TranslationMask?copyMask = null)
 {
     return(((LeveledSpellSetterTranslationCommon)((ILeveledSpellGetter)item).CommonSetterTranslationInstance() !).DeepCopy(
                item: item,
                copyMask: copyMask));
 }
 public static LeveledSpell Duplicate(
     this ILeveledSpellGetter item,
     FormKey formKey,
     LeveledSpell.TranslationMask?copyMask = null)
 {
     return(((LeveledSpellCommon)((ILeveledSpellGetter)item).CommonInstance() !).Duplicate(
                item: item,
                formKey: formKey,
                copyMask: copyMask?.GetCrystal()));
 }
 public static bool Equals(
     this ILeveledSpellGetter item,
     ILeveledSpellGetter rhs,
     LeveledSpell.TranslationMask?equalsMask = null)
 {
     return(((LeveledSpellCommon)((ILeveledSpellGetter)item).CommonInstance() !).Equals(
                lhs: item,
                rhs: rhs,
                crystal: equalsMask?.GetCrystal()));
 }
        public LeveledSpell DeepCopy(
            ILeveledSpellGetter item,
            LeveledSpell.TranslationMask?copyMask = null)
        {
            LeveledSpell ret = (LeveledSpell)((LeveledSpellCommon)((ILeveledSpellGetter)item).CommonInstance() !).GetNew();

            ((LeveledSpellSetterTranslationCommon)((ILeveledSpellGetter)ret).CommonSetterTranslationInstance() !).DeepCopyIn(
                item: ret,
                rhs: item,
                errorMask: null,
                copyMask: copyMask?.GetCrystal(),
                deepCopy: true);
            return(ret);
        }
        public static void DeepCopyIn(
            this ILeveledSpellInternal lhs,
            ILeveledSpellGetter rhs,
            out LeveledSpell.ErrorMask errorMask,
            LeveledSpell.TranslationMask?copyMask = null)
        {
            var errorMaskBuilder = new ErrorMaskBuilder();

            ((LeveledSpellSetterTranslationCommon)((ILeveledSpellGetter)lhs).CommonSetterTranslationInstance() !).DeepCopyIn(
                item: lhs,
                rhs: rhs,
                errorMask: errorMaskBuilder,
                copyMask: copyMask?.GetCrystal(),
                deepCopy: false);
            errorMask = LeveledSpell.ErrorMask.Factory(errorMaskBuilder);
        }
        public LeveledSpell DeepCopy(
            ILeveledSpellGetter item,
            out LeveledSpell.ErrorMask errorMask,
            LeveledSpell.TranslationMask?copyMask = null)
        {
            var          errorMaskBuilder = new ErrorMaskBuilder();
            LeveledSpell ret = (LeveledSpell)((LeveledSpellCommon)((ILeveledSpellGetter)item).CommonInstance() !).GetNew();

            ((LeveledSpellSetterTranslationCommon)((ILeveledSpellGetter)ret).CommonSetterTranslationInstance() !).DeepCopyIn(
                ret,
                item,
                errorMask: errorMaskBuilder,
                copyMask: copyMask?.GetCrystal(),
                deepCopy: true);
            errorMask = LeveledSpell.ErrorMask.Factory(errorMaskBuilder);
            return(ret);
        }