void OnSync(Vector3 pos, Quaternion rot, Vector3 vel, Vector3 ang) #endif { mLastPos = pos; mLastRot = rot; if (mRb.isKinematic) { #if W2 mTrans.position = pos - FloatingOrigin.positionOffset; mRb.velocity = vel - FloatingOrigin.velocityOffset; #else mTrans.position = pos; mRb.velocity = vel; #endif mTrans.rotation = rot; // Does this actually do anything? Needs to be investigated... mRb.isKinematic = false; mRb.angularVelocity = ang; mRb.isKinematic = true; } else { if (TNManager.IsJoiningChannel(tno.channelID)) { mTrans.rotation = rot; #if W2 mTrans.position = pos - FloatingOrigin.positionOffset; mRb.velocity = vel - FloatingOrigin.velocityOffset; #else mTrans.position = pos; mRb.velocity = vel; #endif } else { mRb.rotation = rot; #if W2 mRb.position = pos - FloatingOrigin.positionOffset; mRb.velocity = vel - FloatingOrigin.velocityOffset; #else mRb.position = pos; mRb.velocity = vel; #endif } mRb.angularVelocity = ang; } UpdateInterval(); }