AoMEngineLibrary.Graphics.Grn.Nodes.GrnAnimationTransformTrackKeysNode.ReadData C# (CSharp) Method

ReadData() public method

public ReadData ( GrnBinaryReader reader, int directoryOffset ) : void
reader GrnBinaryReader
directoryOffset int
return void
        public override void ReadData(GrnBinaryReader reader, int directoryOffset)
        {
            reader.Seek((int)(this.Offset + directoryOffset), SeekOrigin.Begin);
            this.TransformChannelIndex = reader.ReadInt32();
            if (this.PreviousSibling != null &&
                ((GrnAnimationTransformTrackKeysNode)this.PreviousSibling).TransformChannelIndex == this.TransformChannelIndex)
            {
                return;
            }

            // read 5 unknowns
            for (int i = 0; i < 5; ++i)
            {
                this.Unknown[i] = reader.ReadInt32();
            }

            int numPositions = reader.ReadInt32();
            int numRotations = reader.ReadInt32();
            int numTransforms = reader.ReadInt32();

            // read 4 unknowns
            for (int i = 0; i < 4; ++i)
            {
                this.Unknown2[i] = reader.ReadInt32();
            }

            for (int i = 0; i < numPositions; ++i)
            {
                this.PositionKeys.Add(reader.ReadSingle());
            }
            for (int i = 0; i < numRotations; ++i)
            {
                this.RotationKeys.Add(reader.ReadSingle());
            }
            for (int i = 0; i < numTransforms; ++i)
            {
                this.ScaleKeys.Add(reader.ReadSingle());
            }

            for (int i = 0; i < numPositions; ++i)
            {
                this.Positions.Add(reader.ReadVector3D());
            }
            for (int i = 0; i < numRotations; ++i)
            {
                this.Rotations.Add(reader.ReadQuaternion());
            }
            for (int i = 0; i < numTransforms; ++i)
            {
                this.Scales.Add(reader.ReadMatrix3x3());
            }
        }