示例#1
0
        /// <summary>
        /// Reads out the expression from a BinaryReader.
        /// </summary>
        /// <param name="reader">The BinaryReader to read from.</param>
        public override void Read(AssetBinaryReader reader)
        {
            MapProperty = ExpressionSerializer.ReadExpression(reader);
            int numEntries = reader.ReadInt32(); // Number of elements

            Elements = reader.ReadExpressionArray(EExprToken.EX_EndMap);
        }
示例#2
0
 /// <summary>
 /// Reads out the expression from a BinaryReader.
 /// </summary>
 /// <param name="reader">The BinaryReader to read from.</param>
 public override void Read(AssetBinaryReader reader)
 {
     ObjectExpression  = ExpressionSerializer.ReadExpression(reader);
     Offset            = reader.ReadUInt32();
     RValuePointer     = reader.XFER_PROP_POINTER();
     ContextExpression = ExpressionSerializer.ReadExpression(reader);
 }
示例#3
0
        /// <summary>
        /// Reads out the expression from a BinaryReader.
        /// </summary>
        /// <param name="reader">The BinaryReader to read from.</param>
        public override void Read(AssetBinaryReader reader)
        {
            if (reader.Asset.EngineVersion >= UE4Version.VER_UE4_CHANGE_SETARRAY_BYTECODE)
            {
                AssigningProperty = ExpressionSerializer.ReadExpression(reader);
            }
            else
            {
                ArrayInnerProp = reader.XFERPTR();
            }

            Elements = reader.ReadExpressionArray(EExprToken.EX_EndArray);
        }
示例#4
0
        public KismetExpression[] ReadExpressionArray(EExprToken endToken)
        {
            List <KismetExpression> newData        = new List <KismetExpression>();
            KismetExpression        currExpression = null;

            while (currExpression == null || currExpression.Token != endToken)
            {
                if (currExpression != null)
                {
                    newData.Add(currExpression);
                }
                currExpression = ExpressionSerializer.ReadExpression(this);
            }
            return(newData.ToArray());
        }
示例#5
0
        /// <summary>
        /// Reads out the expression from a BinaryReader.
        /// </summary>
        /// <param name="reader">The BinaryReader to read from.</param>
        public override void Read(AssetBinaryReader reader)
        {
            ushort numCases = reader.ReadUInt16(); // number of cases, without default one

            EndGotoOffset = reader.ReadUInt32();
            IndexTerm     = ExpressionSerializer.ReadExpression(reader);

            Cases = new FKismetSwitchCase[numCases];
            for (int i = 0; i < numCases; i++)
            {
                KismetExpression termA = ExpressionSerializer.ReadExpression(reader);
                uint             termB = reader.ReadUInt32();
                KismetExpression termC = ExpressionSerializer.ReadExpression(reader);
                Cases[i] = new FKismetSwitchCase(termA, termB, termC);
            }

            DefaultTerm = ExpressionSerializer.ReadExpression(reader);
        }
示例#6
0
 /// <summary>
 /// Reads out the expression from a BinaryReader.
 /// </summary>
 /// <param name="reader">The BinaryReader to read from.</param>
 public override void Read(AssetBinaryReader reader)
 {
     VariableExpression   = ExpressionSerializer.ReadExpression(reader);
     AssignmentExpression = ExpressionSerializer.ReadExpression(reader);
 }
示例#7
0
 /// <summary>
 /// Reads out the expression from a BinaryReader.
 /// </summary>
 /// <param name="reader">The BinaryReader to read from.</param>
 public override void Read(AssetBinaryReader reader)
 {
     InterfaceValue = ExpressionSerializer.ReadExpression(reader);
 }
示例#8
0
 /// <summary>
 /// Reads out the expression from a BinaryReader.
 /// </summary>
 /// <param name="reader">The BinaryReader to read from.</param>
 public override void Read(AssetBinaryReader reader)
 {
     CodeOffset        = reader.ReadUInt32();
     BooleanExpression = ExpressionSerializer.ReadExpression(reader);
 }
示例#9
0
 /// <summary>
 /// Reads out the expression from a BinaryReader.
 /// </summary>
 /// <param name="reader">The BinaryReader to read from.</param>
 public override void Read(AssetBinaryReader reader)
 {
     FunctionName = reader.XFER_FUNC_NAME();
     Delegate     = ExpressionSerializer.ReadExpression(reader);
     ObjectTerm   = ExpressionSerializer.ReadExpression(reader);
 }
示例#10
0
 public FKismetSwitchCase(KismetExpression caseIndexValueTerm, uint nextOffset, KismetExpression caseTerm)
 {
     CaseIndexValueTerm = caseIndexValueTerm;
     NextOffset         = nextOffset;
     CaseTerm           = caseTerm;
 }
示例#11
0
 /// <summary>
 /// Reads out the expression from a BinaryReader.
 /// </summary>
 /// <param name="reader">The BinaryReader to read from.</param>
 public override void Read(AssetBinaryReader reader)
 {
     LineNumber       = reader.ReadUInt16();
     DebugMode        = reader.ReadBoolean();
     AssertExpression = ExpressionSerializer.ReadExpression(reader);
 }
示例#12
0
 /// <summary>
 /// Reads out the expression from a BinaryReader.
 /// </summary>
 /// <param name="reader">The BinaryReader to read from.</param>
 public override void Read(AssetBinaryReader reader)
 {
     StructMemberExpression = reader.XFERPTR();
     StructExpression       = ExpressionSerializer.ReadExpression(reader);
 }
示例#13
0
 /// <summary>
 /// Reads out the expression from a BinaryReader.
 /// </summary>
 /// <param name="reader">The BinaryReader to read from.</param>
 public override void Read(AssetBinaryReader reader)
 {
     ArrayVariable = ExpressionSerializer.ReadExpression(reader);
     ArrayIndex    = ExpressionSerializer.ReadExpression(reader);
 }
示例#14
0
 /// <summary>
 /// Reads out the expression from a BinaryReader.
 /// </summary>
 /// <param name="reader">The BinaryReader to read from.</param>
 public override void Read(AssetBinaryReader reader)
 {
     CodeOffsetExpression = ExpressionSerializer.ReadExpression(reader);
 }
示例#15
0
 /// <summary>
 /// Reads out the expression from a BinaryReader.
 /// </summary>
 /// <param name="reader">The BinaryReader to read from.</param>
 public override void Read(AssetBinaryReader reader)
 {
     ClassPtr         = reader.XFER_OBJECT_POINTER();
     TargetExpression = ExpressionSerializer.ReadExpression(reader);
 }
 /// <summary>
 /// Reads out the expression from a BinaryReader.
 /// </summary>
 /// <param name="reader">The BinaryReader to read from.</param>
 public override void Read(AssetBinaryReader reader)
 {
     DestinationProperty  = reader.XFER_PROP_POINTER();
     AssignmentExpression = ExpressionSerializer.ReadExpression(reader);
 }
示例#17
0
 /// <summary>
 /// Reads out the expression from a BinaryReader.
 /// </summary>
 /// <param name="reader">The BinaryReader to read from.</param>
 public override void Read(AssetBinaryReader reader)
 {
     ConversionType = (EExprToken)reader.ReadByte();
     Target         = ExpressionSerializer.ReadExpression(reader);
 }
 /// <summary>
 /// Reads out the expression from a BinaryReader.
 /// </summary>
 /// <param name="reader">The BinaryReader to read from.</param>
 public override void Read(AssetBinaryReader reader)
 {
     Delegate      = ExpressionSerializer.ReadExpression(reader);
     DelegateToAdd = ExpressionSerializer.ReadExpression(reader);
 }
示例#19
0
 /// <summary>
 /// Reads out the expression from a BinaryReader.
 /// </summary>
 /// <param name="reader">The BinaryReader to read from.</param>
 public override void Read(AssetBinaryReader reader)
 {
     ReturnExpression = ExpressionSerializer.ReadExpression(reader);
 }