// Use this for initialization void Start() { StaticMenu menu = GetComponent <StaticMenu>(); if (menu) { foreach (Transform item in menu.items) { item.renderer.material.color = defaultColor; } } }
public void Start() { m_datetime = DateTime.Now; currentDimension = "2D"; StartCoroutine(DownloadPlaces(queryURL)); StartCoroutine(DownloadKeywords(queryURL)); this._gestureRecognizer = new UnityEngine.XR.WSA.Input.GestureRecognizer(); this._gestureRecognizer.SetRecognizableGestures( UnityEngine.XR.WSA.Input.GestureSettings.Tap | UnityEngine.XR.WSA.Input.GestureSettings.DoubleTap | UnityEngine.XR.WSA.Input.GestureSettings.Hold | UnityEngine.XR.WSA.Input.GestureSettings.ManipulationTranslate ); /* * this._gestureRecognizer.HoldStartedEvent += (source, ray) => * { * * }; */ this._gestureRecognizer.ManipulationStartedEvent += (source, cumulativeDelta, ray) => { navigationPreviousPosition = cumulativeDelta; }; this._gestureRecognizer.ManipulationCompletedEvent += (source, cumulativeDelta, ray) => { }; // Repond to single and double tap. this._gestureRecognizer.TappedEvent += (source, count, ray) => { var terrain = this.transform.Find("terrain"); switch (count) { case 1: if (this._isMoving) { //if (GazeManager.Instance.Hit) { // Cease moving this._isMoving = false; // Stop mapping observer SpatialMappingManager.Instance.StopObserver(); if (terrain == null) { // Hide footprint this.transform.Find("base").GetComponent <MeshRenderer>().material.color = new Color32(100, 100, 100, 100); // Add Terrain _isFirstTimeLoading = true; } else { // Restore hit test terrain.gameObject.layer = 0; } } } else { // If single tap on stationary terrain then perform reverse geocode. // Exit if nothing found if (!GazeManager.Instance.Hit) { return; } if (GazeManager.Instance.FocusedObject == null) { return; } // Exit if not terrain if (GazeManager.Instance.FocusedObject.GetComponent <Terrain>() == null) { return; } //build control button if (buttonObject == null) { buttonObject = Instantiate(buttonZoomPrefab, terrain.transform.position, Quaternion.Euler(60, 0, 0)) as StaticMenu; } //buttonObject.transform.parent = terrain.transform; //this.StartCoroutine(this.AddStreetAddress(GazeManager.Instance.Position)); } break; case 2: // Resume footprint/terrain movement. if (!this._isMoving) { // Set moving flag for update method this._isMoving = true; // Make terrain hittest invisible this.GetComponentInChildren <Terrain>().gameObject.layer = 2; // Resume mapping observer SpatialMappingManager.Instance.StartObserver(); } break; } }; this._gestureRecognizer.StartCapturingGestures(); // Create terrain footprint. var footprint = GameObject.CreatePrimitive(PrimitiveType.Quad); footprint.name = "base"; footprint.transform.position = new Vector3(0, 0, 0); footprint.transform.localRotation = Quaternion.FromToRotation( new Vector3(0, 1, 0), new Vector3(0, 0, 1) ); footprint.transform.localScale = new Vector3(SIZE, SIZE, 1f); footprint.layer = 2; // Ignore Raycast footprint.transform.parent = this.transform; }