public void LoadFrom(Stream stream) { BinaryReader reader = new BinaryReader(stream); m_ChildPositionArray = reader.ReadVector2Array(reader.ReadInt32()); m_ChildMagnitudeArray = reader.ReadSingleArray(reader.ReadInt32()); m_ChildPairVectorArray = reader.ReadVector2Array(reader.ReadInt32()); m_ChildPairAvgMagInvArray = reader.ReadSingleArray(reader.ReadInt32()); int numNeighbours = reader.ReadInt32(); m_ChildNeighborListArray = new MotionNeighborList[numNeighbours]; for (int i = 0; i < numNeighbours; i++) { m_ChildNeighborListArray[i] = new MotionNeighborList(stream); } }