public override int Write(AssetBinaryWriter writer, bool includeHeader) { this.ShouldSerializeStructsDifferently = false; if (Value.Length > 0) { ArrayType = Value[0].PropertyType; } if (includeHeader) { writer.Write(ArrayType); writer.WritePropertyGuid(PropertyGuid); } var removedItemsDummy = new ArrayPropertyData(new FName("ElementsToRemove")); removedItemsDummy.ShouldSerializeStructsDifferently = false; removedItemsDummy.ArrayType = ArrayType; removedItemsDummy.Value = ElementsToRemove; int leng1 = removedItemsDummy.Write(writer, false); return(leng1 + base.Write(writer, false)); }
protected override void HandleCloned(PropertyData res) { ArrayPropertyData cloningProperty = (ArrayPropertyData)res; cloningProperty.ArrayType = (FName)this.ArrayType?.Clone(); cloningProperty.DummyStruct = (StructPropertyData)this.DummyStruct?.Clone(); }
public override void Read(AssetBinaryReader reader, bool includeHeader, long leng1, long leng2 = 0) { this.ShouldSerializeStructsDifferently = false; if (includeHeader) { ArrayType = reader.ReadFName(); PropertyGuid = reader.ReadPropertyGuid(); } var removedItemsDummy = new ArrayPropertyData(new FName("ElementsToRemove")); removedItemsDummy.ShouldSerializeStructsDifferently = false; removedItemsDummy.ArrayType = ArrayType; removedItemsDummy.Read(reader, false, leng1, leng2); ElementsToRemove = removedItemsDummy.Value; base.Read(reader, false, leng1, leng2); }