Ejemplo n.º 1
0
        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();
        }