Example #1
0
        /// <summary>
        /// Called when a remote user sends a Cube transform.
        /// </summary>
        /// <param name="msg"></param>
        private void UpdateCubeTransform(NetworkInMessage msg)
        {
            // Parse the message
            long userID = msg.ReadInt64();

            Vector3 CubePos = CustomMessagesMyHolographicAcademy.Instance.ReadVector3(msg);

            Quaternion CubeRot = CustomMessagesMyHolographicAcademy.Instance.ReadQuaternion(msg);

            RemoteCubeInfo CubeInfo = GetRemoteCubeInfo(userID);

            CubeInfo.CubeObject.transform.localPosition = CubePos;
            CubeInfo.CubeObject.transform.localRotation = CubeRot;
        }
Example #2
0
        /// <summary>
        /// Gets the data structure for the remote users' Cube position.
        /// </summary>
        /// <param name="userId">User ID for which the remote Cube info should be obtained.</param>
        /// <returns>RemoteCubeInfo for the specified user.</returns>
        public RemoteCubeInfo GetRemoteCubeInfo(long userId)
        {
            RemoteCubeInfo CubeInfo;

            // Get the Cube info if its already in the list, otherwise add it
            if (!remoteCubes.TryGetValue(userId, out CubeInfo))
            {
                CubeInfo            = new RemoteCubeInfo();
                CubeInfo.UserID     = userId;
                CubeInfo.CubeObject = CreateRemoteCube();

                remoteCubes.Add(userId, CubeInfo);
            }

            return(CubeInfo);
        }