Ejemplo n.º 1
0
        /// <summary>
        /// Writes an FBlueprintText 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 virtual int Write(AssetBinaryWriter writer)
        {
            int offset = 0;

            writer.Write((byte)TextLiteralType); offset += sizeof(byte);
            switch (TextLiteralType)
            {
            case EBlueprintTextLiteralType.Empty:
                break;

            case EBlueprintTextLiteralType.LocalizedText:
                offset += ExpressionSerializer.WriteExpression(LocalizedSource, writer);
                offset += ExpressionSerializer.WriteExpression(LocalizedKey, writer);
                offset += ExpressionSerializer.WriteExpression(LocalizedNamespace, writer);
                break;

            case EBlueprintTextLiteralType.InvariantText:     // IsCultureInvariant
                offset += ExpressionSerializer.WriteExpression(InvariantLiteralString, writer);
                break;

            case EBlueprintTextLiteralType.LiteralString:
                offset += ExpressionSerializer.WriteExpression(LiteralString, writer);
                break;

            case EBlueprintTextLiteralType.StringTableEntry:
                offset += writer.XFER_OBJECT_POINTER(StringTableAsset);
                offset += ExpressionSerializer.WriteExpression(StringTableId, writer);
                offset += ExpressionSerializer.WriteExpression(StringTableKey, writer);
                break;

            default:
                throw new NotImplementedException("Unimplemented blueprint text literal type " + TextLiteralType);
            }
            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.XFER_OBJECT_POINTER(ClassPtr);
            offset += ExpressionSerializer.WriteExpression(TargetExpression, 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)
 {
     return(writer.XFER_OBJECT_POINTER(Value));
 }