protected bool ReadStateUpdatePacket( byte[] packetData, out Network.PacketHeader packetHeader, out int numAvatarStates, ref AvatarStateQuantized[] avatarState, out int numStateUpdates, ref int[] cubeIds, ref bool[] notChanged, ref bool[] hasDelta, ref bool[] perfectPrediction, ref bool[] hasPredictionDelta, ref ushort[] baselineSequence, ref CubeState[] cubeState, ref CubeDelta[] cubeDelta, ref CubeDelta[] predictionDelta ) { Profiler.BeginSample( "ReadStateUpdatePacket" ); readStream.Start( packetData ); bool result = true; try { packetSerializer.ReadStateUpdatePacket( readStream, out packetHeader, out numAvatarStates, avatarState, out numStateUpdates, cubeIds, notChanged, hasDelta, perfectPrediction, hasPredictionDelta, baselineSequence, cubeState, cubeDelta, predictionDelta ); } catch ( Network.SerializeException ) { Debug.Log( "error: failed to read state update packet" ); packetHeader.sequence = 0; packetHeader.ack = 0; packetHeader.ack_bits = 0; packetHeader.frameNumber = 0; packetHeader.resetSequence = 0; packetHeader.avatarSampleTimeOffset = 0.0f; numAvatarStates = 0; numStateUpdates = 0; result = false; } readStream.Finish(); Profiler.EndSample(); return result; }