Ejemplo n.º 1
0
        /// <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(KeyProperty);
            offset += writer.XFERPTR(ValueProperty);
            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_EndMapConst(), writer);
            return(offset);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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);
        }