void Update()
        {
            if (!isLocalPlayer)
            {
                return;
            }

        #if UNITY_EDITOR || UNITY_STANDALONE
            var        x      = Input.GetAxis("Horizontal") * Time.deltaTime * 150.0f;
            var        z      = Input.GetAxis("Vertical") * Time.deltaTime * 3.0f;
            Vector3    oldPos = transform.position;
            Quaternion oldRot = transform.rotation;

            transform.Rotate(0, x, 0);
            transform.Translate(0, 0, z);

            m_Position = transform.position;
            m_Rotation = transform.rotation;

            if (m_Position != oldPos || m_Rotation != oldRot)
            {
                m_MainCamera.transform.position = m_Position;
                m_MainCamera.transform.rotation = m_Rotation;

                if (isServer)
                {
                    UpdateClientsPos();
                }
                else
                {
                    CmdMove(m_Position, m_Rotation);
                }
            }
        #elif UNITY_IOS || UNITY_ANDROID
            Vector3    oldPos = transform.localPosition;
            Quaternion oldRot = transform.localRotation;
            Vector3    camPos = m_MainCamera.transform.position;
            Quaternion camRot = m_MainCamera.transform.rotation;
            camPos += m_MainCamera.transform.up * .2f;
            Matrix4x4 cloudSpace = ARHelper.ToCloudSpace(camPos, camRot, m_Loc.position, m_Loc.rotation);
            m_Rotation = cloudSpace.rotation;
            m_Position = cloudSpace.GetColumn(3);

            if (m_Position != oldPos || m_Rotation != oldRot)
            {
                transform.localPosition = m_Position;
                transform.localRotation = m_Rotation;

                if (isServer)
                {
                    UpdateClientsPos();
                }
                else
                {
                    CmdMove(m_Position, m_Rotation);
                }
            }
        #endif
        }