Beispiel #1
0
 private void OnValidate()
 {
     if (m_TransformSyncMode < TransformSyncMode.SyncNone || m_TransformSyncMode > TransformSyncMode.SyncCharacterController)
     {
         m_TransformSyncMode = TransformSyncMode.SyncTransform;
     }
     if (m_SendInterval < 0f)
     {
         m_SendInterval = 0f;
     }
     if (m_SyncRotationAxis < AxisSyncMode.None || m_SyncRotationAxis > AxisSyncMode.AxisXYZ)
     {
         m_SyncRotationAxis = AxisSyncMode.None;
     }
     if (m_MovementTheshold < 0f)
     {
         m_MovementTheshold = 0f;
     }
     if (m_VelocityThreshold < 0f)
     {
         m_VelocityThreshold = 0f;
     }
     if (m_SnapThreshold < 0f)
     {
         m_SnapThreshold = 0.01f;
     }
     if (m_InterpolateRotation < 0f)
     {
         m_InterpolateRotation = 0.01f;
     }
     if (m_InterpolateMovement < 0f)
     {
         m_InterpolateMovement = 0.01f;
     }
 }
        static public Quaternion UnserializeRotation3D(NetworkReader reader, AxisSyncMode mode, CompressionSyncMode compression)
        {
            Quaternion rotation = Quaternion.identity;
            Vector3    rotv     = Vector3.zero;

            switch (mode)
            {
            case AxisSyncMode.None:
                break;

            case AxisSyncMode.AxisX:
                rotv.Set(ReadAngle(reader, compression), 0, 0);
                rotation.eulerAngles = rotv;
                break;

            case AxisSyncMode.AxisY:
                rotv.Set(0, ReadAngle(reader, compression), 0);
                rotation.eulerAngles = rotv;
                break;

            case AxisSyncMode.AxisZ:
                rotv.Set(0, 0, ReadAngle(reader, compression));
                rotation.eulerAngles = rotv;
                break;

            case AxisSyncMode.AxisXY:
                rotv.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), 0);
                rotation.eulerAngles = rotv;
                break;

            case AxisSyncMode.AxisXZ:
                rotv.Set(ReadAngle(reader, compression), 0, ReadAngle(reader, compression));
                rotation.eulerAngles = rotv;
                break;

            case AxisSyncMode.AxisYZ:
                rotv.Set(0, ReadAngle(reader, compression), ReadAngle(reader, compression));
                rotation.eulerAngles = rotv;
                break;

            case AxisSyncMode.AxisXYZ:
                rotv.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), ReadAngle(reader, compression));
                rotation.eulerAngles = rotv;
                break;
            }
            return(rotation);
        }
Beispiel #3
0
        public static Quaternion UnserializeRotation3D(NetworkReader reader, AxisSyncMode mode, CompressionSyncMode compression)
        {
            Quaternion identity = Quaternion.identity;
            Vector3    zero     = Vector3.zero;

            switch (mode)
            {
            case AxisSyncMode.AxisX:
                zero.Set(ReadAngle(reader, compression), 0f, 0f);
                identity.eulerAngles = zero;
                break;

            case AxisSyncMode.AxisY:
                zero.Set(0f, ReadAngle(reader, compression), 0f);
                identity.eulerAngles = zero;
                break;

            case AxisSyncMode.AxisZ:
                zero.Set(0f, 0f, ReadAngle(reader, compression));
                identity.eulerAngles = zero;
                break;

            case AxisSyncMode.AxisXY:
                zero.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), 0f);
                identity.eulerAngles = zero;
                break;

            case AxisSyncMode.AxisXZ:
                zero.Set(ReadAngle(reader, compression), 0f, ReadAngle(reader, compression));
                identity.eulerAngles = zero;
                break;

            case AxisSyncMode.AxisYZ:
                zero.Set(0f, ReadAngle(reader, compression), ReadAngle(reader, compression));
                identity.eulerAngles = zero;
                break;

            case AxisSyncMode.AxisXYZ:
                zero.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), ReadAngle(reader, compression));
                identity.eulerAngles = zero;
                break;
            }
            return(identity);
        }
        static public void SerializeRotation3D(NetworkWriter writer, Quaternion rot, AxisSyncMode mode, CompressionSyncMode compression)
        {
            switch (mode)
            {
            case AxisSyncMode.None:
                break;

            case AxisSyncMode.AxisX:
                WriteAngle(writer, rot.eulerAngles.x, compression);
                break;

            case AxisSyncMode.AxisY:
                WriteAngle(writer, rot.eulerAngles.y, compression);
                break;

            case AxisSyncMode.AxisZ:
                WriteAngle(writer, rot.eulerAngles.z, compression);
                break;

            case AxisSyncMode.AxisXY:
                WriteAngle(writer, rot.eulerAngles.x, compression);
                WriteAngle(writer, rot.eulerAngles.y, compression);
                break;

            case AxisSyncMode.AxisXZ:
                WriteAngle(writer, rot.eulerAngles.x, compression);
                WriteAngle(writer, rot.eulerAngles.z, compression);
                break;

            case AxisSyncMode.AxisYZ:
                WriteAngle(writer, rot.eulerAngles.y, compression);
                WriteAngle(writer, rot.eulerAngles.z, compression);
                break;

            case AxisSyncMode.AxisXYZ:
                WriteAngle(writer, rot.eulerAngles.x, compression);
                WriteAngle(writer, rot.eulerAngles.y, compression);
                WriteAngle(writer, rot.eulerAngles.z, compression);
                break;
            }
        }
        static public Vector3 UnserializeSpin3D(NetworkReader reader, AxisSyncMode mode, CompressionSyncMode compression)
        {
            Vector3 spin = Vector3.zero;

            switch (mode)
            {
            case AxisSyncMode.None:
                break;

            case AxisSyncMode.AxisX:
                spin.Set(ReadAngle(reader, compression), 0, 0);
                break;

            case AxisSyncMode.AxisY:
                spin.Set(0, ReadAngle(reader, compression), 0);
                break;

            case AxisSyncMode.AxisZ:
                spin.Set(0, 0, ReadAngle(reader, compression));
                break;

            case AxisSyncMode.AxisXY:
                spin.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), 0);
                break;

            case AxisSyncMode.AxisXZ:
                spin.Set(ReadAngle(reader, compression), 0, ReadAngle(reader, compression));
                break;

            case AxisSyncMode.AxisYZ:
                spin.Set(0, ReadAngle(reader, compression), ReadAngle(reader, compression));
                break;

            case AxisSyncMode.AxisXYZ:
                spin.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), ReadAngle(reader, compression));
                break;
            }
            return(spin);
        }
        void OnValidate()
        {
            if (m_TransformSyncMode < TransformSyncMode.SyncNone)
            {
                m_TransformSyncMode = TransformSyncMode.SyncTransform;
            }

            if (m_SendInterval < 0)
            {
                m_SendInterval = 0;
            }

            if (m_SyncRotationAxis < AxisSyncMode.None || m_SyncRotationAxis > AxisSyncMode.AxisXYZ)
            {
                m_SyncRotationAxis = AxisSyncMode.None;
            }

            if (m_MovementTheshold < 0)
            {
                m_MovementTheshold = 0.00f;
            }

            if (m_SnapThreshold < 0)
            {
                m_SnapThreshold = 0.01f;
            }

            if (m_InterpolateRotation < 0)
            {
                m_InterpolateRotation = 0.01f;
            }

            if (m_InterpolateMovement < 0)
            {
                m_InterpolateMovement = 0.01f;
            }
        }
Beispiel #7
0
        public static Vector3 UnserializeSpin3D(NetworkReader reader, AxisSyncMode mode, CompressionSyncMode compression)
        {
            Vector3 zero = Vector3.zero;

            switch (mode)
            {
            case AxisSyncMode.AxisX:
                zero.Set(ReadAngle(reader, compression), 0f, 0f);
                break;

            case AxisSyncMode.AxisY:
                zero.Set(0f, ReadAngle(reader, compression), 0f);
                break;

            case AxisSyncMode.AxisZ:
                zero.Set(0f, 0f, ReadAngle(reader, compression));
                break;

            case AxisSyncMode.AxisXY:
                zero.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), 0f);
                break;

            case AxisSyncMode.AxisXZ:
                zero.Set(ReadAngle(reader, compression), 0f, ReadAngle(reader, compression));
                break;

            case AxisSyncMode.AxisYZ:
                zero.Set(0f, ReadAngle(reader, compression), ReadAngle(reader, compression));
                break;

            case AxisSyncMode.AxisXYZ:
                zero.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), ReadAngle(reader, compression));
                break;
            }
            return(zero);
        }
Beispiel #8
0
        public static void SerializeSpin3D(NetworkWriter writer, Vector3 angularVelocity, AxisSyncMode mode, CompressionSyncMode compression)
        {
            switch (mode)
            {
            case AxisSyncMode.None:
                break;

            case AxisSyncMode.AxisX:
                WriteAngle(writer, angularVelocity.x, compression);
                break;

            case AxisSyncMode.AxisY:
                WriteAngle(writer, angularVelocity.y, compression);
                break;

            case AxisSyncMode.AxisZ:
                WriteAngle(writer, angularVelocity.z, compression);
                break;

            case AxisSyncMode.AxisXY:
                WriteAngle(writer, angularVelocity.x, compression);
                WriteAngle(writer, angularVelocity.y, compression);
                break;

            case AxisSyncMode.AxisXZ:
                WriteAngle(writer, angularVelocity.x, compression);
                WriteAngle(writer, angularVelocity.z, compression);
                break;

            case AxisSyncMode.AxisYZ:
                WriteAngle(writer, angularVelocity.y, compression);
                WriteAngle(writer, angularVelocity.z, compression);
                break;

            case AxisSyncMode.AxisXYZ:
                WriteAngle(writer, angularVelocity.x, compression);
                WriteAngle(writer, angularVelocity.y, compression);
                WriteAngle(writer, angularVelocity.z, compression);
                break;
            }
        }
Beispiel #9
0
        public static void SerializeRotation3D(NetworkWriter writer, Quaternion rot, AxisSyncMode mode, CompressionSyncMode compression)
        {
            switch (mode)
            {
            case AxisSyncMode.None:
                break;

            case AxisSyncMode.AxisX:
            {
                Vector3 eulerAngles12 = rot.eulerAngles;
                WriteAngle(writer, eulerAngles12.x, compression);
                break;
            }

            case AxisSyncMode.AxisY:
            {
                Vector3 eulerAngles11 = rot.eulerAngles;
                WriteAngle(writer, eulerAngles11.y, compression);
                break;
            }

            case AxisSyncMode.AxisZ:
            {
                Vector3 eulerAngles10 = rot.eulerAngles;
                WriteAngle(writer, eulerAngles10.z, compression);
                break;
            }

            case AxisSyncMode.AxisXY:
            {
                Vector3 eulerAngles8 = rot.eulerAngles;
                WriteAngle(writer, eulerAngles8.x, compression);
                Vector3 eulerAngles9 = rot.eulerAngles;
                WriteAngle(writer, eulerAngles9.y, compression);
                break;
            }

            case AxisSyncMode.AxisXZ:
            {
                Vector3 eulerAngles6 = rot.eulerAngles;
                WriteAngle(writer, eulerAngles6.x, compression);
                Vector3 eulerAngles7 = rot.eulerAngles;
                WriteAngle(writer, eulerAngles7.z, compression);
                break;
            }

            case AxisSyncMode.AxisYZ:
            {
                Vector3 eulerAngles4 = rot.eulerAngles;
                WriteAngle(writer, eulerAngles4.y, compression);
                Vector3 eulerAngles5 = rot.eulerAngles;
                WriteAngle(writer, eulerAngles5.z, compression);
                break;
            }

            case AxisSyncMode.AxisXYZ:
            {
                Vector3 eulerAngles = rot.eulerAngles;
                WriteAngle(writer, eulerAngles.x, compression);
                Vector3 eulerAngles2 = rot.eulerAngles;
                WriteAngle(writer, eulerAngles2.y, compression);
                Vector3 eulerAngles3 = rot.eulerAngles;
                WriteAngle(writer, eulerAngles3.z, compression);
                break;
            }
            }
        }
Beispiel #10
0
        public static Quaternion UnserializeRotation3D(NetworkReader reader, AxisSyncMode mode, CompressionSyncMode compression)
        {
            Quaternion identity = Quaternion.identity;
            Vector3 zero = Vector3.zero;
            switch (mode)
            {
                case AxisSyncMode.None:
                    return identity;

                case AxisSyncMode.AxisX:
                    zero.Set(ReadAngle(reader, compression), 0f, 0f);
                    identity.eulerAngles = zero;
                    return identity;

                case AxisSyncMode.AxisY:
                    zero.Set(0f, ReadAngle(reader, compression), 0f);
                    identity.eulerAngles = zero;
                    return identity;

                case AxisSyncMode.AxisZ:
                    zero.Set(0f, 0f, ReadAngle(reader, compression));
                    identity.eulerAngles = zero;
                    return identity;

                case AxisSyncMode.AxisXY:
                    zero.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), 0f);
                    identity.eulerAngles = zero;
                    return identity;

                case AxisSyncMode.AxisXZ:
                    zero.Set(ReadAngle(reader, compression), 0f, ReadAngle(reader, compression));
                    identity.eulerAngles = zero;
                    return identity;

                case AxisSyncMode.AxisYZ:
                    zero.Set(0f, ReadAngle(reader, compression), ReadAngle(reader, compression));
                    identity.eulerAngles = zero;
                    return identity;

                case AxisSyncMode.AxisXYZ:
                    zero.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), ReadAngle(reader, compression));
                    identity.eulerAngles = zero;
                    return identity;
            }
            return identity;
        }
Beispiel #11
0
        public static void SerializeSpin3D(NetworkWriter writer, Vector3 angularVelocity, AxisSyncMode mode, CompressionSyncMode compression)
        {
            switch (mode)
            {
                case AxisSyncMode.AxisX:
                    WriteAngle(writer, angularVelocity.x, compression);
                    break;

                case AxisSyncMode.AxisY:
                    WriteAngle(writer, angularVelocity.y, compression);
                    break;

                case AxisSyncMode.AxisZ:
                    WriteAngle(writer, angularVelocity.z, compression);
                    break;

                case AxisSyncMode.AxisXY:
                    WriteAngle(writer, angularVelocity.x, compression);
                    WriteAngle(writer, angularVelocity.y, compression);
                    break;

                case AxisSyncMode.AxisXZ:
                    WriteAngle(writer, angularVelocity.x, compression);
                    WriteAngle(writer, angularVelocity.z, compression);
                    break;

                case AxisSyncMode.AxisYZ:
                    WriteAngle(writer, angularVelocity.y, compression);
                    WriteAngle(writer, angularVelocity.z, compression);
                    break;

                case AxisSyncMode.AxisXYZ:
                    WriteAngle(writer, angularVelocity.x, compression);
                    WriteAngle(writer, angularVelocity.y, compression);
                    WriteAngle(writer, angularVelocity.z, compression);
                    break;
            }
        }
Beispiel #12
0
        public static void SerializeRotation3D(NetworkWriter writer, Quaternion rot, AxisSyncMode mode, CompressionSyncMode compression)
        {
            switch (mode)
            {
                case AxisSyncMode.AxisX:
                    WriteAngle(writer, rot.eulerAngles.x, compression);
                    break;

                case AxisSyncMode.AxisY:
                    WriteAngle(writer, rot.eulerAngles.y, compression);
                    break;

                case AxisSyncMode.AxisZ:
                    WriteAngle(writer, rot.eulerAngles.z, compression);
                    break;

                case AxisSyncMode.AxisXY:
                    WriteAngle(writer, rot.eulerAngles.x, compression);
                    WriteAngle(writer, rot.eulerAngles.y, compression);
                    break;

                case AxisSyncMode.AxisXZ:
                    WriteAngle(writer, rot.eulerAngles.x, compression);
                    WriteAngle(writer, rot.eulerAngles.z, compression);
                    break;

                case AxisSyncMode.AxisYZ:
                    WriteAngle(writer, rot.eulerAngles.y, compression);
                    WriteAngle(writer, rot.eulerAngles.z, compression);
                    break;

                case AxisSyncMode.AxisXYZ:
                    WriteAngle(writer, rot.eulerAngles.x, compression);
                    WriteAngle(writer, rot.eulerAngles.y, compression);
                    WriteAngle(writer, rot.eulerAngles.z, compression);
                    break;
            }
        }
Beispiel #13
0
 private void OnValidate()
 {
     if ((this.m_TransformSyncMode < TransformSyncMode.SyncNone) || (this.m_TransformSyncMode > TransformSyncMode.SyncCharacterController))
     {
         this.m_TransformSyncMode = TransformSyncMode.SyncTransform;
     }
     if (this.m_SendInterval < 0f)
     {
         this.m_SendInterval = 0f;
     }
     if ((this.m_SyncRotationAxis < AxisSyncMode.None) || (this.m_SyncRotationAxis > AxisSyncMode.AxisXYZ))
     {
         this.m_SyncRotationAxis = AxisSyncMode.None;
     }
     if (this.m_MovementTheshold < 0f)
     {
         this.m_MovementTheshold = 0f;
     }
     if (this.m_SnapThreshold < 0f)
     {
         this.m_SnapThreshold = 0.01f;
     }
     if (this.m_InterpolateRotation < 0f)
     {
         this.m_InterpolateRotation = 0.01f;
     }
     if (this.m_InterpolateMovement < 0f)
     {
         this.m_InterpolateMovement = 0.01f;
     }
 }
Beispiel #14
0
        public static Vector3 UnserializeSpin3D(NetworkReader reader, AxisSyncMode mode, CompressionSyncMode compression)
        {
            Vector3 zero = Vector3.zero;
            switch (mode)
            {
                case AxisSyncMode.None:
                    return zero;

                case AxisSyncMode.AxisX:
                    zero.Set(ReadAngle(reader, compression), 0f, 0f);
                    return zero;

                case AxisSyncMode.AxisY:
                    zero.Set(0f, ReadAngle(reader, compression), 0f);
                    return zero;

                case AxisSyncMode.AxisZ:
                    zero.Set(0f, 0f, ReadAngle(reader, compression));
                    return zero;

                case AxisSyncMode.AxisXY:
                    zero.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), 0f);
                    return zero;

                case AxisSyncMode.AxisXZ:
                    zero.Set(ReadAngle(reader, compression), 0f, ReadAngle(reader, compression));
                    return zero;

                case AxisSyncMode.AxisYZ:
                    zero.Set(0f, ReadAngle(reader, compression), ReadAngle(reader, compression));
                    return zero;

                case AxisSyncMode.AxisXYZ:
                    zero.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), ReadAngle(reader, compression));
                    return zero;
            }
            return zero;
        }