void Update() { #region PointerInput // Inupt is disbaled if camera is lerping if (!isLerpingToNewPosition) { // Finishing click if (Input.GetMouseButtonUp(0)) { // If we started and finished a click on an item, then interact with it if (hasClickedDownOnItem && !isDragging) { Ray ray = sceneCamera.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { if (hit.transform.gameObject.tag == "Animatable") { hit.transform.gameObject.GetComponent <Animator> ().SetTrigger("Clicked"); } FamiliarizeObject clickedObject = hit.transform.GetComponent <FamiliarizeObject>(); if (clickedObject != null) { SelectFamiliarizeObject(clickedObject); } } } else if (!isDragging && !ApplicationManager.s_instance.userIsInteractingWithUI) // If we clicked away from any objects in the 3D Scene View, clear selection { ClearSelectedFamiliarizeObject(true); } hasClickedDownOnItem = false; isDragging = false; } // Pointer clicking is disabled if user is hovering over GUI if (ApplicationManager.s_instance.userIsInteractingWithUI) { return; } // Starting a click if (Input.GetMouseButtonDown(0)) { Ray ray = sceneCamera.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { if (hit.transform.gameObject.tag == "Animatable" || hit.transform.gameObject.tag == "Selectable") { hasClickedDownOnItem = true; } } } } #endregion CheckCompletion(); }
private void SelectFamiliarizeObject(FamiliarizeObject newSelection) { ClearSelectedFamiliarizeObject(false); // Highlight Button in List View ToggleListViewButtonHighLight(newSelection.dictionaryKey, true); familiarizeDictionary[newSelection.dictionaryKey].button.checkBox.isOn = true; // Update Description View text UIManager.s_instance.UpdateDescriptionViewText(familiarizeDictionary[newSelection.dictionaryKey].uiText.descriptionViewText); // Selecting of new object and starting camera transition selectedObject = newSelection; currentCameraPivot = selectedObject.cameraPivot; currentCameraStartPos = selectedObject.cameraStartPosition; selectedObject.Select(); StartCameraTransition(); }
private void ClearSelectedFamiliarizeObject(bool slerpToDefaultPos) { if (selectedObject == null) { return; } ToggleListViewButtonHighLight(selectedObject.dictionaryKey, false); selectedObject.Deselect(); selectedObject = null; currentCameraPivot = defaultCameraPivot; currentCameraStartPos = defaultCameraStartTransform; if (slerpToDefaultPos) { UIManager.s_instance.UpdateDescriptionViewText(defaultDescViewText); StartCameraTransition(); } }