public void OnData(int connectionId, int channelId, byte key, byte[] data, byte error) { CircleVRPacketType type = (CircleVRPacketType)key; if (type == CircleVRPacketType.VideoPlayer) { ContentName name = new ContentName(CircleVR.ContentName); string msg = JsonUtility.ToJson(name); CircleVRNetwork.Send(CircleVRPacketType.Name, CircleVRNetwork.StringToByte(msg), connectionId, CircleVRNetwork.reliableChannel); Debug.Log("[CircleVR Host Network] Send ContentName To Video Player : " + msg); return; } if (type == CircleVRPacketType.ClientInfo) { ClientData clientData = JsonUtility.FromJson <ClientData>(CircleVRNetwork.ByteToString(data)); CircleVRErrorType cvError; if (host.AddConnectedUserIDs(clientData.userId, out cvError)) { AddConnectedPair(new UserIDAndConnectionIDPair(clientData.userId, connectionId)); return; } CircleVRNetwork.SendError(connectionId, cvError); Disconnect(CircleVRNetwork.hostID, connectionId, error); Debug.Log("[CircleVR Host Network] Connect Failed : " + cvError.ToString() + "\nUser ID : " + clientData.userId); return; } }
private void SendClientData() { ClientData data = new ClientData(userID); string json = JsonUtility.ToJson(data); CircleVRNetwork.Send(CircleVRPacketType.ClientInfo, CircleVRNetwork.StringToByte(json), connectionId, CircleVRNetwork.reliableChannel); }
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 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); }
private void SendTrackingData() { foreach (Packet.TrackerData trackerData in packet.trackerDatas) { UpdatePacket(trackerData); } foreach (UserIDAndConnectionIDPair connection in connectedPairs) { CircleVRNetwork.Send(CircleVRPacketType.TrackingData, CircleVRNetwork.StringToByte(JsonUtility.ToJson(packet)), connection.connectionId, CircleVRNetwork.stateUpdateChannel); } }
public void OnData(int connectionId, int channelId, byte key, byte[] data, byte error) { CircleVRPacketType type = (CircleVRPacketType)key; if (type == CircleVRPacketType.RequestServerContentInfo) { string contentServerStatus = JsonUtility.ToJson(GetContentServerStatus()); CircleVRNetwork.Send(CircleVRPacketType.ServerContentInfo, CircleVRNetwork.StringToByte(contentServerStatus), connectionId, CircleVRNetwork.reliableChannel); Debug.Log("[INFO] Send Content Server Status"); return; } if (Event != null) { Event.OnData(connectionId, channelId, key, data, error); } }
public void OnConnect(int connectionID, byte error) { CircleVRNetwork.Send(CircleVRPacketType.RequestServerContentInfo, connectionID, CircleVRNetwork.reliableChannel); }