private void SearchCurrentWebclient() { foreach (var wc in _webclientManager.Get()) { if (wc.Owner == _user.Id) { if (wc != _tablet) { _tabletDisposables.Clear(); _tablet = wc; _tablet.ModelChange() .Where(changes => changes.Contains("Orientation") || changes.Contains("SelectedId") || changes.Contains("SelectedType")) .Subscribe(_ => UpdateTransparency()) .AddTo(_tabletDisposables); UpdateTransparency(); } return; } } // no matching client found _tabletDisposables.Clear(); _tablet = null; UpdateTransparency(); }
private void SearchCurrentWebclient() { foreach (var wc in _webclientManager.Get()) { if (wc.Owner == _user.Id) { if (wc != _tablet) { _webclientDisposables.Clear(); _tablet = wc; _tablet.ModelChange() .Where(changes => changes.Contains("LookingAtId") || changes.Contains("LookingAtType")) .Subscribe(_ => UpdateOutline()) .AddTo(_webclientDisposables); UpdateOutline(); } return; } } // no matching client found _webclientDisposables.Clear(); _tablet = null; UpdateOutline(); }
private void SearchCurrentWebclient() { foreach (var wc in _webclientManager.Get()) { if (wc.Owner == _client.Id) { if (wc != _webclient) { _webclientDisposables.Clear(); _webclient = wc; _webclient.ModelChange() .Where(changes => changes.Contains("ScreenMenu") || changes.Contains("IsVoiceActive")) .Subscribe(_ => UpdateScreenIndicators()) .AddTo(_webclientDisposables); UpdateScreenIndicators(); } return; } } // no matching client found _webclientDisposables.Clear(); _webclient = null; UpdateScreenIndicators(); }
private void SearchCurrentTablet() { foreach (var wc in _webclients.Get()) { if (wc.Owner == _user.Id) { if (wc != _tablet) { _tabletDisposables.Clear(); _tablet = wc; _tablet.ModelChange() .TakeUntilDestroy(this) .Subscribe(_ => UpdateCursor()); UpdateCursor(); } return; } } // no matching client found _tabletDisposables.Clear(); _tablet = null; UpdateCursor(); }
private void SearchCurrentWebclient() { foreach (var wc in _webclients.Get()) { if (wc.Owner == _user.Id) { if (wc != _tablet) { _tabletDisposables.Clear(); _tablet = wc; _tablet.ModelChange() .Where(changes => changes.Contains("IsVoiceActive")) .Subscribe(_ => UpdateIsActive()) .AddTo(_tabletDisposables); UpdateIsActive(); } return; } } // no matching client found _tabletDisposables.Clear(); _tablet = null; UpdateIsActive(); }
private void SearchCurrentTablet() { foreach (var wc in _webclients.Get()) { if (wc.Owner == _user.Id) { if (wc != _tablet) { _tabletDisposables.Clear(); _tablet = wc; _tablet.ScreenMenuRx .ObserveOnMainThread() .Subscribe(_ => UpdateIndicator()) .AddTo(_tabletDisposables); _tablet.ModelChange() .Where(c => c.Contains("IsVoiceActive")) .Subscribe(_ => UpdateIndicator()) .AddTo(_tabletDisposables); } return; } } // no matching client found _tabletDisposables.Clear(); _tablet = null; }
private void UpdateSelection() { _renderer.GetPropertyBlock(_propBlock); var user = StreamClient.Instance; if (_plotFilter.SelectedBy != null && _plotFilter.SelectedBy.Any(id => _tablets.Get(id)?.Owner == user.Id)) { _propBlock.SetFloat("_isSelectedOffset", 1f); } else { _propBlock.SetFloat("_isSelectedOffset", 0f); } _renderer.SetPropertyBlock(_propBlock); }
private void Update() { var isHololensCalibrating = _streamClient.IsCalibrating; _hololensRoomscaleCalibration.enabled = isHololensCalibrating; _hololensSingleCalibration.enabled = isHololensCalibrating; var isTabletCalibrating = _webClientManager.Get().Any(c => c.IsCalibrating); _webClientCalibration.enabled = isTabletCalibrating; var isVuforiaActive = isHololensCalibrating || isTabletCalibrating; _vuforiaBehaviour.enabled = isVuforiaActive; }
private void SearchCurrentTablet() { foreach (var wc in _webclients.Get()) { if (wc.Owner == _user.Id) { if (wc != _tablet) { _tabletDisposables.Clear(); _tablet = wc; _tablet.ModelChange() .Where(changes => changes.Contains("LookingAtType") || changes.Contains("LookingAtId") || changes.Contains("Orientation")) .Subscribe(_ => ResetProgress()) .AddTo(_tabletDisposables); } return; } } // no matching client found _tabletDisposables.Clear(); _tablet = null; }
private void Update() { var client = _clientManager.Get().FirstOrDefault(c => c.IsCalibrating); if (_calibratedClient != client) { ResetProgress(); _calibratedClient = client; // TODO: dataset must be disabled before marker can be resized //var objectTracker = Vuforia.TrackerManager.Instance.GetTracker<Vuforia.ObjectTracker>(); //objectTracker.Stop(); //var dataSet = objectTracker.GetActiveDataSets().First(); //objectTracker.DeactivateDataSet(dataSet); var deviceWidth = client.GetDeviceSizeCm().x; var vuforiaMarker = GetComponent <Vuforia.ImageTargetBehaviour>(); // vuforiaMarker.SetWidth(deviceWidth); // Debug.Log($"Setting vuforia marker size to {deviceWidth}"); //objectTracker.ActivateDataSet(dataSet); } if (IsTrackingActive && client) { if (_trackerSamples.Values.Count > 0) { CurrentSamples = _trackerSamples.Values.Min(l => l.Count); } else { CurrentSamples = 0; } if (CurrentSamples >= MaxSamples) { StartCalibration(); } else { var activeTrackers = client.Trackers .Where(id => id >= 0) .Select(id => _trackerManager.Get(id)) .Where(t => t != null && t.IsActive); // only collect samples if all trackers are active if (activeTrackers.Count() != client.Trackers.Length) { return; } _markerSamples.Add(Tuple.Create(transform.position, transform.rotation)); foreach (var tracker in activeTrackers) { if (!_trackerSamples.ContainsKey(tracker.Id)) { _trackerSamples.Add(tracker.Id, new List <Tuple <Vector3, Quaternion> >()); } _trackerSamples[tracker.Id].Add(Tuple.Create(tracker.transform.position, tracker.transform.rotation)); } } } }