Example #1
0
 public void Write(
     MutagenWriter writer,
     ICellGetter item,
     RecordTypeConverter?recordTypeConverter = null)
 {
     using (HeaderExport.Header(
                writer: writer,
                record: recordTypeConverter.ConvertToCustom(RecordTypes.CELL),
                type: ObjectType.Record))
     {
         try
         {
             Fallout4MajorRecordBinaryWriteTranslation.WriteEmbedded(
                 item: item,
                 writer: writer);
             MajorRecordBinaryWriteTranslation.WriteRecordTypes(
                 item: item,
                 writer: writer,
                 recordTypeConverter: recordTypeConverter);
         }
         catch (Exception ex)
         {
             throw RecordException.Enrich(ex, item);
         }
     }
 }
        public virtual int GetHashCode(ICellGetter item)
        {
            var hash = new HashCode();

            hash.Add(base.GetHashCode());
            return(hash.ToHashCode());
        }
 public void Write(
     MutagenWriter writer,
     ICellGetter item,
     TypedWriteParams?translationParams = null)
 {
     using (HeaderExport.Record(
                writer: writer,
                record: translationParams.ConvertToCustom(RecordTypes.CELL)))
     {
         try
         {
             Fallout4MajorRecordBinaryWriteTranslation.WriteEmbedded(
                 item: item,
                 writer: writer);
             MajorRecordBinaryWriteTranslation.WriteRecordTypes(
                 item: item,
                 writer: writer,
                 translationParams: translationParams);
         }
         catch (Exception ex)
         {
             throw RecordException.Enrich(ex, item);
         }
     }
 }
 public static Cell DeepCopy(
     this ICellGetter item,
     Cell.TranslationMask?copyMask = null)
 {
     return(((CellSetterTranslationCommon)((ICellGetter)item).CommonSetterTranslationInstance() !).DeepCopy(
                item: item,
                copyMask: copyMask));
 }
 public IEnumerable <IFormLinkGetter> GetContainedFormLinks(ICellGetter obj)
 {
     foreach (var item in base.GetContainedFormLinks(obj))
     {
         yield return(item);
     }
     yield break;
 }
        public Cell Duplicate(
            ICellGetter item,
            FormKey formKey,
            TranslationCrystal?copyMask)
        {
            var newRec = new Cell(formKey);

            newRec.DeepCopyIn(item, default(ErrorMaskBuilder?), copyMask);
            return(newRec);
        }
 protected static void ToStringFields(
     ICellGetter item,
     FileGeneration fg,
     Cell.Mask <bool>?printMask = null)
 {
     Fallout4MajorRecordCommon.ToStringFields(
         item: item,
         fg: fg,
         printMask: printMask);
 }
 public static bool Equals(
     this ICellGetter item,
     ICellGetter rhs,
     Cell.TranslationMask?equalsMask = null)
 {
     return(((CellCommon)((ICellGetter)item).CommonInstance() !).Equals(
                lhs: item,
                rhs: rhs,
                crystal: equalsMask?.GetCrystal()));
 }
 public static Cell DeepCopy(
     this ICellGetter item,
     ErrorMaskBuilder?errorMask,
     TranslationCrystal?copyMask = null)
 {
     return(((CellSetterTranslationCommon)((ICellGetter)item).CommonSetterTranslationInstance() !).DeepCopy(
                item: item,
                copyMask: copyMask,
                errorMask: errorMask));
 }
Example #10
0
 public static Cell Duplicate(
     this ICellGetter item,
     FormKey formKey,
     Cell.TranslationMask?copyMask = null)
 {
     return(((CellCommon)((ICellGetter)item).CommonInstance() !).Duplicate(
                item: item,
                formKey: formKey,
                copyMask: copyMask?.GetCrystal()));
 }
Example #11
0
 public static string ToString(
     this ICellGetter item,
     string?name = null,
     Cell.Mask <bool>?printMask = null)
 {
     return(((CellCommon)((ICellGetter)item).CommonInstance() !).ToString(
                item: item,
                name: name,
                printMask: printMask));
 }
Example #12
0
 public static Cell.Mask <bool> GetEqualsMask(
     this ICellGetter item,
     ICellGetter rhs,
     EqualsMaskHelper.Include include = EqualsMaskHelper.Include.All)
 {
     return(((CellCommon)((ICellGetter)item).CommonInstance() !).GetEqualsMask(
                item: item,
                rhs: rhs,
                include: include));
 }
Example #13
0
 public static void ToString(
     this ICellGetter item,
     FileGeneration fg,
     string?name = null,
     Cell.Mask <bool>?printMask = null)
 {
     ((CellCommon)((ICellGetter)item).CommonInstance() !).ToString(
         item: item,
         fg: fg,
         name: name,
         printMask: printMask);
 }
Example #14
0
 public void FillEqualsMask(
     ICellGetter item,
     ICellGetter rhs,
     Cell.Mask <bool> ret,
     EqualsMaskHelper.Include include = EqualsMaskHelper.Include.All)
 {
     if (rhs == null)
     {
         return;
     }
     base.FillEqualsMask(item, rhs, ret, include);
 }
Example #15
0
 public static void DeepCopyIn(
     this ICellInternal lhs,
     ICellGetter rhs,
     ErrorMaskBuilder?errorMask,
     TranslationCrystal?copyMask)
 {
     ((CellSetterTranslationCommon)((ICellGetter)lhs).CommonSetterTranslationInstance() !).DeepCopyIn(
         item: lhs,
         rhs: rhs,
         errorMask: errorMask,
         copyMask: copyMask,
         deepCopy: false);
 }
Example #16
0
        public string ToString(
            ICellGetter item,
            string?name = null,
            Cell.Mask <bool>?printMask = null)
        {
            var fg = new FileGeneration();

            ToString(
                item: item,
                fg: fg,
                name: name,
                printMask: printMask);
            return(fg.ToString());
        }
Example #17
0
        public Cell.Mask <bool> GetEqualsMask(
            ICellGetter item,
            ICellGetter rhs,
            EqualsMaskHelper.Include include = EqualsMaskHelper.Include.All)
        {
            var ret = new Cell.Mask <bool>(false);

            ((CellCommon)((ICellGetter)item).CommonInstance() !).FillEqualsMask(
                item: item,
                rhs: rhs,
                ret: ret,
                include: include);
            return(ret);
        }
Example #18
0
 public void DeepCopyIn(
     ICellInternal item,
     ICellGetter rhs,
     ErrorMaskBuilder?errorMask,
     TranslationCrystal?copyMask,
     bool deepCopy)
 {
     base.DeepCopyIn(
         item,
         rhs,
         errorMask,
         copyMask,
         deepCopy: deepCopy);
 }
Example #19
0
 public void DeepCopyIn(
     ICell item,
     ICellGetter rhs,
     ErrorMaskBuilder?errorMask,
     TranslationCrystal?copyMask,
     bool deepCopy)
 {
     base.DeepCopyIn(
         (IFallout4MajorRecord)item,
         (IFallout4MajorRecordGetter)rhs,
         errorMask,
         copyMask,
         deepCopy: deepCopy);
 }
Example #20
0
        public Cell DeepCopy(
            ICellGetter item,
            Cell.TranslationMask?copyMask = null)
        {
            Cell ret = (Cell)((CellCommon)((ICellGetter)item).CommonInstance() !).GetNew();

            ((CellSetterTranslationCommon)((ICellGetter)ret).CommonSetterTranslationInstance() !).DeepCopyIn(
                item: ret,
                rhs: item,
                errorMask: null,
                copyMask: copyMask?.GetCrystal(),
                deepCopy: true);
            return(ret);
        }
Example #21
0
        public Cell DeepCopy(
            ICellGetter item,
            ErrorMaskBuilder?errorMask,
            TranslationCrystal?copyMask = null)
        {
            Cell ret = (Cell)((CellCommon)((ICellGetter)item).CommonInstance() !).GetNew();

            ((CellSetterTranslationCommon)((ICellGetter)ret).CommonSetterTranslationInstance() !).DeepCopyIn(
                item: ret,
                rhs: item,
                errorMask: errorMask,
                copyMask: copyMask,
                deepCopy: true);
            return(ret);
        }
Example #22
0
        public static void DeepCopyIn(
            this ICellInternal lhs,
            ICellGetter rhs,
            out Cell.ErrorMask errorMask,
            Cell.TranslationMask?copyMask = null)
        {
            var errorMaskBuilder = new ErrorMaskBuilder();

            ((CellSetterTranslationCommon)((ICellGetter)lhs).CommonSetterTranslationInstance() !).DeepCopyIn(
                item: lhs,
                rhs: rhs,
                errorMask: errorMaskBuilder,
                copyMask: copyMask?.GetCrystal(),
                deepCopy: false);
            errorMask = Cell.ErrorMask.Factory(errorMaskBuilder);
        }
Example #23
0
        public Cell DeepCopy(
            ICellGetter item,
            out Cell.ErrorMask errorMask,
            Cell.TranslationMask?copyMask = null)
        {
            var  errorMaskBuilder = new ErrorMaskBuilder();
            Cell ret = (Cell)((CellCommon)((ICellGetter)item).CommonInstance() !).GetNew();

            ((CellSetterTranslationCommon)((ICellGetter)ret).CommonSetterTranslationInstance() !).DeepCopyIn(
                ret,
                item,
                errorMask: errorMaskBuilder,
                copyMask: copyMask?.GetCrystal(),
                deepCopy: true);
            errorMask = Cell.ErrorMask.Factory(errorMaskBuilder);
            return(ret);
        }
Example #24
0
 public void ToString(
     ICellGetter item,
     FileGeneration fg,
     string?name = null,
     Cell.Mask <bool>?printMask = null)
 {
     if (name == null)
     {
         fg.AppendLine($"Cell =>");
     }
     else
     {
         fg.AppendLine($"{name} (Cell) =>");
     }
     fg.AppendLine("[");
     using (new DepthWrapper(fg))
     {
         ToStringFields(
             item: item,
             fg: fg,
             printMask: printMask);
     }
     fg.AppendLine("]");
 }
Example #25
0
 public static partial void CustomBinaryEndExport(MutagenWriter writer, ICellGetter obj)
 {
     try
     {
         var pathGrid  = obj.PathGrid;
         var landscape = obj.Landscape;
         if ((obj.Persistent?.Count ?? 0) == 0 &&
             (obj.Temporary?.Count ?? 0) == 0 &&
             (obj.VisibleWhenDistant?.Count ?? 0) == 0 &&
             pathGrid == null &&
             landscape == null)
         {
             return;
         }
         using (HeaderExport.Header(writer, RecordTypes.GRUP, ObjectType.Group))
         {
             FormKeyBinaryTranslation.Instance.Write(
                 writer,
                 obj.FormKey);
             writer.Write((int)GroupTypeEnum.CellChildren);
             writer.Write(obj.Timestamp);
             if (obj.Persistent?.Count > 0)
             {
                 using (HeaderExport.Header(writer, RecordTypes.GRUP, ObjectType.Group))
                 {
                     FormKeyBinaryTranslation.Instance.Write(
                         writer,
                         obj.FormKey);
                     writer.Write((int)GroupTypeEnum.CellPersistentChildren);
                     writer.Write(obj.PersistentTimestamp);
                     ListBinaryTranslation <IPlacedGetter> .Instance.Write(
                         writer : writer,
                         items : obj.Persistent,
                         transl : (r, item) =>
                     {
                         item.WriteToBinary(r);
                     });
                 }
             }
             if (obj.Temporary?.Count > 0 ||
                 pathGrid != null ||
                 landscape != null)
             {
                 using (HeaderExport.Header(writer, RecordTypes.GRUP, ObjectType.Group))
                 {
                     FormKeyBinaryTranslation.Instance.Write(
                         writer,
                         obj.FormKey);
                     writer.Write((int)GroupTypeEnum.CellTemporaryChildren);
                     writer.Write(obj.TemporaryTimestamp);
                     landscape?.WriteToBinary(writer);
                     pathGrid?.WriteToBinary(writer);
                     if (obj.Temporary != null)
                     {
                         ListBinaryTranslation <IPlacedGetter> .Instance.Write(
                             writer : writer,
                             items : obj.Temporary,
                             transl : (r, item) =>
                         {
                             item.WriteToBinary(r);
                         });
                     }
                 }
             }
             if (obj.VisibleWhenDistant?.Count > 0)
             {
                 using (HeaderExport.Header(writer, RecordTypes.GRUP, ObjectType.Group))
                 {
                     FormKeyBinaryTranslation.Instance.Write(
                         writer,
                         obj.FormKey);
                     writer.Write((int)GroupTypeEnum.CellVisibleDistantChildren);
                     writer.Write(obj.VisibleWhenDistantTimestamp);
                     ListBinaryTranslation <IPlacedGetter> .Instance.Write(
                         writer : writer,
                         items : obj.VisibleWhenDistant,
                         transl : (r, item) =>
                     {
                         item.WriteToBinary(r);
                     });
                 }
             }
         }
     }
     catch (Exception ex)
     {
         throw RecordException.Enrich(ex, obj);
     }
 }
Example #26
0
 public static partial void CustomBinaryEndExport(MutagenWriter writer, ICellGetter obj)
 {
     try
     {
         var navMeshes = obj.NavigationMeshes;
         var landscape = obj.Landscape;
         if ((obj.Persistent?.Count ?? 0) == 0 &&
             (obj.Temporary?.Count ?? 0) == 0 &&
             navMeshes.Count == 0 &&
             landscape == null)
         {
             return;
         }
         using (HeaderExport.Header(writer, RecordTypes.GRUP, ObjectType.Group))
         {
             FormKeyBinaryTranslation.Instance.Write(
                 writer,
                 obj.FormKey);
             writer.Write((int)GroupTypeEnum.CellChildren);
             writer.Write(obj.Timestamp);
             writer.Write(obj.UnknownGroupData);
             if (obj.Persistent?.Count > 0)
             {
                 using (HeaderExport.Header(writer, RecordTypes.GRUP, ObjectType.Group))
                 {
                     FormKeyBinaryTranslation.Instance.Write(
                         writer,
                         obj.FormKey);
                     writer.Write((int)GroupTypeEnum.CellPersistentChildren);
                     writer.Write(obj.PersistentTimestamp);
                     writer.Write(obj.PersistentUnknownGroupData);
                     ListBinaryTranslation <IPlacedGetter> .Instance.Write(
                         writer : writer,
                         items : obj.Persistent,
                         transl : WritePlaced);
                 }
             }
             if (obj.Temporary?.Count > 0 ||
                 navMeshes.Count > 0 ||
                 landscape != null)
             {
                 using (HeaderExport.Header(writer, RecordTypes.GRUP, ObjectType.Group))
                 {
                     FormKeyBinaryTranslation.Instance.Write(
                         writer,
                         obj.FormKey);
                     writer.Write((int)GroupTypeEnum.CellTemporaryChildren);
                     writer.Write(obj.TemporaryTimestamp);
                     writer.Write(obj.TemporaryUnknownGroupData);
                     landscape?.WriteToBinary(writer);
                     foreach (var navMesh in navMeshes)
                     {
                         navMesh.WriteToBinary(writer);
                     }
                     if (obj.Temporary != null)
                     {
                         ListBinaryTranslation <IPlacedGetter> .Instance.Write(
                             writer : writer,
                             items : obj.Temporary,
                             transl : WritePlaced);
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         throw RecordException.Enrich(ex, obj);
     }
 }