public void OnData(int connectionId, int channelId, byte key, byte[] data, byte error) { CircleVRPacketType type = (CircleVRPacketType)key; if (!connected) { if (type == CircleVRPacketType.Error) { CircleVRError cvError = JsonUtility.FromJson <CircleVRError>(CircleVRNetwork.ByteToString(data)); Debug.Log("[INFO] Error : " + cvError.type.ToString()); if (cvError.type == CircleVRErrorType.AlreadyHasUserID || cvError.type == CircleVRErrorType.NotFoundUserIDInPairs) { connecting = false; } return; } if (type == CircleVRPacketType.HostInfo) { Debug.Log("[INFO] Circle VR Connect Succeed!"); HostInfo hostInfo = JsonUtility.FromJson <HostInfo>(CircleVRNetwork.ByteToString(data)); CircleVRDisplay.InitBarrier(hostInfo.safetyBarrierRadius, hostInfo.showBarrier); connected = true; connecting = false; CircleVRNetwork.Send(CircleVRPacketType.RequestServerContentInfo, connectionId, CircleVRNetwork.reliableChannel); return; } } }
private CircleVRHost CreateHost(Configuration config) { CircleVRDisplay.InitBarrier(config.circlevr.safetyBarrierRadius, config.circlevr.showBarrier); CircleVRHost host = DontDestroyInstantiate("Host", Vector3.zero, Quaternion.identity).AddComponent <CircleVRHost>(); host.Init(config); return(host); }
private void RemoveConnectedPair(int connectionID) { UserIDAndConnectionIDPair pair = GetConnectedPair(connectionID); host.RemoveConnectedUserID(pair.userID); SetConnectedInPacket(pair.userID, false); connectedPairs.Remove(pair); CircleVRDisplay.GetHead(CircleVR.GetPair(pair.userID).trackerID).Connected = false; Debug.Log("[CircleVR Host Network] Disconnected User ID : " + pair.userID); }
private void AddConnectedPair(UserIDAndConnectionIDPair pair) { Packet.TrackerData trackerData = GetTrackerDataInPacket(pair.userID); trackerData.connected = true; CircleVRNetwork.Send(CircleVRPacketType.HostInfo, CircleVRNetwork.StringToByte(JsonUtility.ToJson(new HostInfo(config.circlevr.showBarrier, config.circlevr.safetyBarrierRadius))), pair.connectionId, CircleVRNetwork.reliableChannel); connectedPairs.Add(pair); CircleVRDisplay.GetHead(CircleVR.GetPair(pair.userID).trackerID).Connected = true; Debug.Log("[CircleVR Host Network] Connected User ID : " + pair.userID); }
public void OnData(int connectionId, int channelId, byte key, byte[] data, byte error) { CircleVRPacketType type = (CircleVRPacketType)key; if (type == CircleVRPacketType.TrackingData) { CircleVRHostNetwork.Packet packet = JsonUtility.FromJson <CircleVRHostNetwork.Packet>(CircleVRNetwork.ByteToString(data)); foreach (CircleVRHostNetwork.Packet.TrackerData trackerData in packet.trackerDatas) { Debug.Assert(trackerData != null); SetTrackerTransform(trackerData); CircleVRDisplay.GetHead(trackerData.onAirVRUserID).Connected = trackerData.connected; } return; } }
public void OnBounded(string userID, AirVRStereoCameraRig rig) { this.userID = userID; Transform tracker = CircleVRTrackingSystem.GetTracker(CircleVR.GetPair(userID).trackerID); rig.externalTracker = tracker.Find("CenterAnchor"); CircleVRErrorType error; if (host.AddConnectedUserIDs(userID, out error)) { CircleVRDisplay.GetHead(CircleVR.GetPair(userID).trackerID).Connected = true; return; } Debug.Log("[Client Emulator] " + error.ToString()); }
public void OnUnbound() { host.RemoveConnectedUserID(userID); CircleVRDisplay.GetHead(CircleVR.GetPair(userID).trackerID).Connected = false; }