/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; offset += writer.XFERPTR(StructMemberExpression); offset += ExpressionSerializer.WriteExpression(StructExpression, writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; offset += ExpressionSerializer.WriteExpression(Delegate, writer); offset += ExpressionSerializer.WriteExpression(DelegateToAdd, writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; offset += writer.XFER_PROP_POINTER(DestinationProperty); offset += ExpressionSerializer.WriteExpression(AssignmentExpression, writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; offset += writer.XFER_OBJECT_POINTER(ClassPtr); offset += ExpressionSerializer.WriteExpression(TargetExpression, writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; offset += ExpressionSerializer.WriteExpression(VariableExpression, writer); offset += ExpressionSerializer.WriteExpression(AssignmentExpression, writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; writer.Write((byte)ConversionType); offset += sizeof(byte); offset += ExpressionSerializer.WriteExpression(Target, writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; offset += ExpressionSerializer.WriteExpression(ArrayVariable, writer); offset += ExpressionSerializer.WriteExpression(ArrayIndex, writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; writer.Write(CodeOffset); offset += sizeof(uint); offset += ExpressionSerializer.WriteExpression(BooleanExpression, writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; offset += writer.XFER_FUNC_NAME(FunctionName); offset += ExpressionSerializer.WriteExpression(Delegate, writer); offset += ExpressionSerializer.WriteExpression(ObjectTerm, writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; writer.Write(LineNumber); offset += sizeof(ushort); writer.Write(DebugMode); offset += sizeof(bool); offset += ExpressionSerializer.WriteExpression(AssertExpression, writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; offset += ExpressionSerializer.WriteExpression(ObjectExpression, writer); writer.Write(Offset); offset += sizeof(uint); offset += writer.XFER_PROP_POINTER(RValuePointer); offset += ExpressionSerializer.WriteExpression(ContextExpression, writer); return(offset); }
public override void Write(AssetBinaryWriter writer) { base.Write(writer); writer.Write(SuperStruct.Index); writer.Write(Children.Length); for (int i = 0; i < Children.Length; i++) { writer.Write(Children[i].Index); } if (Asset.GetCustomVersion <FCoreObjectVersion>() >= FCoreObjectVersion.FProperties) { writer.Write(LoadedProperties.Length); for (int i = 0; i < LoadedProperties.Length; i++) { MainSerializer.WriteFProperty(LoadedProperties[i], writer); } } if (ScriptBytecode == null) { writer.Write(ScriptBytecodeSize); writer.Write(ScriptBytecodeRaw.Length); writer.Write(ScriptBytecodeRaw); } else { long lengthOffset1 = writer.BaseStream.Position; writer.Write((int)0); // total iCode offset; to be filled out after serialization long lengthOffset2 = writer.BaseStream.Position; writer.Write((int)0); // size on disk; to be filled out after serialization int totalICodeOffset = 0; long startMetric = writer.BaseStream.Position; for (int i = 0; i < ScriptBytecode.Length; i++) { totalICodeOffset += ExpressionSerializer.WriteExpression(ScriptBytecode[i], writer); } long endMetric = writer.BaseStream.Position; // Write out total size in bytes long totalLength = endMetric - startMetric; long here = writer.BaseStream.Position; writer.Seek((int)lengthOffset1, SeekOrigin.Begin); writer.Write(totalICodeOffset); writer.Seek((int)lengthOffset2, SeekOrigin.Begin); writer.Write((int)totalLength); writer.Seek((int)here, SeekOrigin.Begin); } }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; offset += writer.XFER_FUNC_NAME(VirtualFunctionName); for (int i = 0; i < Parameters.Length; i++) { offset += ExpressionSerializer.WriteExpression(Parameters[i], writer); } offset += ExpressionSerializer.WriteExpression(new EX_EndFunctionParms(), writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; offset += ExpressionSerializer.WriteExpression(MapProperty, writer); writer.Write(Elements.Length); offset += sizeof(int); for (int i = 0; i < Elements.Length; i++) { offset += ExpressionSerializer.WriteExpression(Elements[i], writer); } offset += ExpressionSerializer.WriteExpression(new EX_EndMap(), writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; offset += writer.XFERPTR(Struct); writer.Write(StructSize); offset += sizeof(int); for (int i = 0; i < Value.Length; i++) { offset += ExpressionSerializer.WriteExpression(Value[i], writer); } // Write end expression offset += ExpressionSerializer.WriteExpression(new EX_EndStructConst(), writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; writer.Write((ushort)Cases.Length); offset += sizeof(ushort); writer.Write(EndGotoOffset); offset += sizeof(uint); offset += ExpressionSerializer.WriteExpression(IndexTerm, writer); for (int i = 0; i < Cases.Length; i++) { offset += ExpressionSerializer.WriteExpression(Cases[i].CaseIndexValueTerm, writer); writer.Write(Cases[i].NextOffset); offset += sizeof(uint); offset += ExpressionSerializer.WriteExpression(Cases[i].CaseTerm, writer); } offset += ExpressionSerializer.WriteExpression(DefaultTerm, writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { int offset = 0; if (writer.Asset.EngineVersion >= UE4Version.VER_UE4_CHANGE_SETARRAY_BYTECODE) { offset += ExpressionSerializer.WriteExpression(AssigningProperty, writer); } else { offset += writer.XFERPTR(ArrayInnerProp); } for (int i = 0; i < Elements.Length; i++) { offset += ExpressionSerializer.WriteExpression(Elements[i], writer); } offset += ExpressionSerializer.WriteExpression(new EX_EndArray(), writer); return(offset); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { return(ExpressionSerializer.WriteExpression(DelegateToClear, writer)); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { return(ExpressionSerializer.WriteExpression(InterfaceValue, writer)); }
/// <summary> /// Writes the expression to a BinaryWriter. /// </summary> /// <param name="writer">The BinaryWriter to write from.</param> /// <returns>The iCode offset of the data that was written.</returns> public override int Write(AssetBinaryWriter writer) { return(ExpressionSerializer.WriteExpression(ReturnExpression, writer)); }