public void Write <T>(MutagenWriter writer, IEDIDLink <T> item) where T : class, IMajorRecordCommonGetter { this.Write( writer, item.EDID); }
public void Write <T>( MutagenWriter writer, IEDIDLink <T> item, MasterReferenceReader masterReferences) where T : class, IMajorRecordCommonGetter { this.Write( writer, item, masterReferences); }
public void Write <M, T>( MutagenWriter writer, IEDIDLink <T> item, RecordType header) where T : class, IMajorRecordCommonGetter { this.Write( writer, item.EDID, header); }
public bool Parse <T>( XElement node, out IEDIDLink <T> item, ErrorMaskBuilder?errorMask, TranslationCrystal?translationMask) where T : class, IMajorRecordCommonGetter { return(this.Parse( node: node, item: out item, errorMask: errorMask)); }
public bool Parse <T>( XElement node, out IEDIDLink <T> item, ErrorMaskBuilder?errorMask) where T : class, IMajorRecordCommonGetter { if (Parse(node, out RecordType id, errorMask)) { item = new EDIDLink <T>(id); return(true); } item = new EDIDLink <T>(); return(false); }
public bool Parse <T>( MutagenFrame frame, out IEDIDLink <T> item, RecordTypeConverter?recordTypeConverter = null) where T : class, IMajorRecordCommonGetter { if (!frame.TryCheckUpcomingRead(4, out var ex)) { throw ex; } item = new EDIDLink <T>(HeaderTranslation.ReadNextRecordType(frame)); return(true); }
/// <summary> /// Compares equality of two links. /// </summary> /// <param name="other">Other link to compare to</param> /// <returns>True if EDID members are equal</returns> public bool Equals(IEDIDLink <TMajor>?other) => this.EDID.Equals(other?.EDID);
/// <summary> /// Attempts to locate link target in given Link Cache. /// </summary> /// <param name="edidLink">EDIDLink to resolve</param> /// <param name="package">Link Cache to resolve against</param> /// <param name="major">Located record if successful</param> /// <returns>True if link was resolved and a record was retrieved</returns> /// <typeparam name="TMajor">Major Record type to resolve to</typeparam> public static bool TryResolve <TMajor>(this IEDIDLink <TMajor> edidLink, ILinkCache package, out TMajor major) where TMajor : IMajorRecordCommonGetter { major = edidLink.Resolve(package); return(major != null); }