public CREFField CNAME; // RGB color public override bool CreateField(UnityBinaryReader r, GameFormatId format, string type, int dataSize) { switch (type) { case "EDID": EDID = r.ReadSTRV(dataSize); return(true); case "CNAME": CNAME = r.ReadT <CREFField>(dataSize); return(true); default: return(false); } }
public List <RPLIField> RPLIs = new List <RPLIField>(); // Region Areas public override bool CreateField(UnityBinaryReader r, GameFormatId format, string type, int dataSize) { switch (type) { case "EDID": case "NAME": EDID = r.ReadSTRV(dataSize); return(true); case "WNAM": case "FNAM": WNAM = new FMIDField <WRLDRecord>(r, dataSize); return(true); case "WEAT": WEAT = new WEATField(r, dataSize); return(true); //: TES3 case "ICON": case "BNAM": ICON = r.ReadSTRV(dataSize); return(true); case "RCLR": case "CNAM": RCLR = r.ReadT <CREFField>(dataSize); return(true); case "SNAM": RDATs.Add(new RDATField { RDSDs = new[] { new RDSDField(r, dataSize, format) } }); return(true); case "RPLI": RPLIs.Add(new RPLIField(r, dataSize)); return(true); case "RPLD": RPLIs.Last().RPLDField(r, dataSize); return(true); case "RDAT": RDATs.Add(new RDATField(r, dataSize)); return(true); case "RDOT": var rdot = RDATs.Last().RDOTs = new RDOTField[dataSize / 52]; for (var i = 0; i < rdot.Length; i++) { rdot[i] = new RDOTField(r, dataSize); } return(true); case "RDMP": RDATs.Last().RDMP = r.ReadSTRV(dataSize); return(true); case "RDGS": var rdgs = RDATs.Last().RDGSs = new RDGSField[dataSize / 8]; for (var i = 0; i < rdgs.Length; i++) { rdgs[i] = new RDGSField(r, dataSize); } return(true); case "RDMD": RDATs.Last().RDMD = r.ReadT <UI32Field>(dataSize); return(true); case "RDSD": var rdsd = RDATs.Last().RDSDs = new RDSDField[dataSize / 12]; for (var i = 0; i < rdsd.Length; i++) { rdsd[i] = new RDSDField(r, dataSize, format); } return(true); case "RDWT": var rdwt = RDATs.Last().RDWTs = new RDWTField[dataSize / RDWTField.SizeOf(format)]; for (var i = 0; i < rdwt.Length; i++) { rdwt[i] = new RDWTField(r, dataSize, format); } return(true); default: return(false); } }