void Update() { if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); touchPosition = touch.position; if (!objectTouched && (touch.phase == TouchPhase.Began)) { Ray ray = arCamera.ScreenPointToRay(touch.position); RaycastHit hitObject; if (Physics.Raycast(ray, out hitObject)) { PlacementObject placementObject = hitObject.transform.GetComponent <PlacementObject>(); if (placementObject != null) { menuController.objectMenuUI.SetActive(true); } } } } }
// Update is called once per frame void Update() { if (Input.touchCount > 0) { Touch t = Input.GetTouch(0); touchPosition = t.position; if (t.phase == TouchPhase.Began) { Ray ray = arCamera.ScreenPointToRay(t.position); RaycastHit hitObject; if (Physics.Raycast(ray, out hitObject)) { PlacementObject placementObj = hitObject.transform.GetComponent <PlacementObject>(); if (placementObj != null) { if (currentObj.tag == placementObj.tag) { currentObj.matched = true; placementObj.matched = true; } ChangeSelectObject(placementObj); currentObj = placementObj; } } } } }
void Update() { if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); touchPosition = touch.position; if (touch.phase == TouchPhase.Began) { Ray ray = Camera.ScreenPointToRay(touch.position); RaycastHit hitObject; if (Physics.Raycast(ray, out hitObject)) { lastSelectedObject = hitObject.transform.GetComponent <PlacementObject>(); if (lastSelectedObject != null) { ChangeSelectedObject(lastSelectedObject); } } else { lastSelectedObject = null; if (lastSelectedObject == null) { PlacementObject[] allObjects = FindObjectsOfType <PlacementObject>(); foreach (PlacementObject placementObject in allObjects) { placementObject.Selected = false; } } } } } }
// Update is called once per frame void Update() { if (Input.touchCount > 0) { Touch posicion = Input.GetTouch(0); touchPosicion = posicion.position; if (posicion.phase == TouchPhase.Began) { Ray ray = arCamara.ScreenPointToRay(posicion.position); RaycastHit hitObject; if (Physics.Raycast(ray, out hitObject)) { PlacementObject placementObjects = hitObject.transform.GetComponent <PlacementObject>(); if (placementObjects != null) { if (placementObjects.gameObject == Verdura) { Vida.Changelife(); Points.removePoints(10); } } } } } }
void Update() { if (_disabled) { return; } if (Input.GetKeyDown(KeyCode.F2)) { EndPlacement(); } if (_currentlyActiveObject != null) { if (Input.GetAxisRaw("Rotate") != 0) { _currentlyActiveObject.transform.Rotate(Vector3.up, RotationSpeed * Time.unscaledDeltaTime * Input.GetAxisRaw("Rotate")); } if (updateRaycastHit()) { _currentlyActiveObject.gameObject.SetActive(true); _currentlyActiveObject.transform.position = _lastHit.point; if (_currentlyDragging) { if (!Input.GetMouseButton(0)) { _currentlyDragging = false; _currentlyActiveObject.SetInPlacedState(); _currentlyActiveObject = null; } } else { if (Input.GetMouseButtonDown(0)) { var placedObject = Instantiate(_currentlyActiveObject); placedObject.SetInPlacedState(); _placedObjects.Add(placedObject); EndPlacement(); OnObjectPlaced(); } } } else { _currentlyActiveObject.gameObject.SetActive(false); } } else { if (Input.GetMouseButtonDown(0) && updateRaycastHit()) { var placedObject = _lastHit.collider.GetComponentInParent <PlacementObject>(); if (placedObject != null) { _currentlyActiveObject = placedObject; _currentlyActiveObject.SetInPlacementState(); _currentlyDragging = true; } } } }
void Update() { // do not capture events unless the welcome panel is hidden if (welcomePanel.activeSelf) { return; } if (generateRayAfterSeconds >= rayTimer) { // creates a ray from the screen point origin Ray ray = arCamera.ScreenPointToRay(selector.transform.position); RaycastHit hitObject; if (Physics.Raycast(ray, out hitObject, rayDistanceFromCamera)) { PlacementObject placementObject = hitObject.transform.GetComponent <PlacementObject>(); if (placementObject != null) { ChangeSelectedObject(placementObject); } } else { ChangeSelectedObject(); } rayTimer = 0; } else { rayTimer += Time.deltaTime * 1.0f; } }
void Update() { // do not capture events unless the welcome panel is hidden if (welcomePanel.activeSelf) { return; } if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); touchPosition = touch.position; if (touch.phase == TouchPhase.Began) { Ray ray = arCamera.ScreenPointToRay(touch.position); RaycastHit hitObject; if (Physics.Raycast(ray, out hitObject)) { PlacementObject placementObject = hitObject.transform.GetComponent <PlacementObject>(); if (placementObject != null) { ChangeSelectedObject(placementObject); } } } } }
public void InstantiateObject(int objectIndex) { PlacementObject obj1 = Instantiate(objects[objectIndex], PlacementController.RayCastToWorld().position + Vector3.one, Quaternion.identity); ButtonController button1 = Instantiate(buttonController); button1.transform.parent = controlPanel.transform; button1.obj = obj1; }
public void EndPlacement() { if (_currentlyActiveObject != null) { Destroy(_currentlyActiveObject.gameObject); _currentlyActiveObject = null; } }
void Start() { foreach (Transform child in PlacementTileHolder.transform) { PlacementTiles.Add(child); } PlacementObject = Instantiate(PlacementObject); }
void Update() { if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); touchPosition = touch.position; if (touch.phase == TouchPhase.Began) { Ray ray = arCamera.ScreenPointToRay(touch.position); RaycastHit hitObject; if (Physics.Raycast(ray, out hitObject)) { lastSelectedObject = hitObject.transform.GetComponent <PlacementObject>(); if (lastSelectedObject != null) { ChangeSelectedObject(lastSelectedObject); } } else { lastSelectedObject = null; if (lastSelectedObject == null) { PlacementObject[] allObjects = FindObjectsOfType <PlacementObject>(); foreach (PlacementObject placementObject in allObjects) { placementObject.Selected = false; } } } if (arRaycastManager.Raycast(touchPosition, hits, UnityEngine.XR.ARSubsystems.TrackableType.PlaneWithinPolygon)) { Pose hitPose = hits[0].pose; if (lastSelectedObject == null) { lastSelectedObject = Instantiate(placedPrefab, hitPose.position, hitPose.rotation).GetComponent <PlacementObject>(); } } } if (touch.phase == TouchPhase.Moved) { if (arRaycastManager.Raycast(touchPosition, hits, UnityEngine.XR.ARSubsystems.TrackableType.PlaneWithinPolygon)) { Pose hitPose = hits[0].pose; if (lastSelectedObject != null && lastSelectedObject.Selected) { lastSelectedObject.transform.parent.position = hitPose.position; lastSelectedObject.transform.parent.rotation = hitPose.rotation; } } } } }
public void DisableObjectPlacement() { if (_currentlyActiveObject != null) { Destroy(_currentlyActiveObject.gameObject); _currentlyActiveObject = null; } _disabled = true; }
void Update() { // do not capture events unless the welcome panel is hidden if (welcomePanel.activeSelf) { return; } if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); touchPosition = touch.position; if (touch.phase == TouchPhase.Began) { Ray ray = arCamera.ScreenPointToRay(touch.position); RaycastHit hitObject; if (Physics.Raycast(ray, out hitObject)) { lastSelectedObject = hitObject.transform.GetComponent <PlacementObject>(); if (lastSelectedObject != null) { PlacementObject[] allOtherObjects = FindObjectsOfType <PlacementObject>(); foreach (PlacementObject placementObject in allOtherObjects) { placementObject.Selected = placementObject == lastSelectedObject; } } } } if (touch.phase == TouchPhase.Ended) { lastSelectedObject.Selected = false; } } if (arRaycastManager.Raycast(touchPosition, hits, UnityEngine.XR.ARSubsystems.TrackableType.PlaneWithinPolygon)) { Pose hitPose = hits[0].pose; if (lastSelectedObject == null) { lastSelectedObject = Instantiate(placedPrefab, hitPose.position, hitPose.rotation).GetComponent <PlacementObject>(); } else { if (lastSelectedObject.Selected) { lastSelectedObject.transform.position = hitPose.position; lastSelectedObject.transform.rotation = hitPose.rotation; } } } }
void ClearSelection() { if (lastSelectedObject != null) { lastSelectedObject.IsSelected = false; lastSelectedObject.GetComponent <Outline>().enabled = false; onObjectSelected.Raise(false); } lastSelectedObject = null; }
public void UpdateUIAccordingToSelectedObject(PlacementObject selectedObject) { if (selectedObject == null) { UpdateAnnotationUI(new PlacementObject.Annotation()); return; } UpdateManipUI(selectedObject); UpdateAnnotationUI(selectedObject.annotation); }
public void StartPlacement(GameObject prefab) { if (_currentlyActiveObject != null) { Destroy(_currentlyActiveObject.gameObject); } var newObject = Instantiate(prefab); _currentlyActiveObject = newObject.AddComponent <PlacementObject>(); _currentlyActiveObject.CreatedFromPrefab = prefab; _currentlyActiveObject.SetInPlacementState(); }
void Update() { // do not capture events unless the welcome panel is hidden if (welcomePanel.activeSelf) { return; } if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); touchPosition = touch.position; if (touch.phase == TouchPhase.Began) { Ray ray = arCamera.ScreenPointToRay(touch.position); RaycastHit hitObject; // if we got a hit meaning that it was selected if (Physics.Raycast(ray, out hitObject)) { PlacementObject placementObject = hitObject.transform.GetComponent <PlacementObject>(); MeshRenderer placementObjectMeshRenderer = placedObject.GetComponent <MeshRenderer>(); if (placementObject != null) { placementObject.Selected = true; placementObjectMeshRenderer.material.color = activeColor; if (displayCanvas) { placementObject.ToggleCanvas(); } } } // nothing selected so set the sphere color to inactive else { PlacementObject placementObject = placedObject.GetComponent <PlacementObject>(); MeshRenderer placementObjectMeshRenderer = placedObject.GetComponent <MeshRenderer>(); if (placementObject != null) { placementObject.Selected = false; placementObjectMeshRenderer.material.color = inactiveColor; if (displayCanvas) { placementObject.ToggleCanvas(); } } } } } }
public PlacementObject PlaceObject(Vector3 position, Quaternion rotation, Color color, string priority, string audio, string text, string image) { //ARReferencePoint newAnchor = anchorManager.AddReferencePoint(appStateManager.placementCursorPose); PlacementObject newPlaced = Instantiate(objectToPlace, position, rotation); newPlaced.gameObject.transform.GetComponent <MeshRenderer>().material.SetColor("_EmissionColor", color); newPlaced.SetOverlayText(priority); newPlaced.audioPath = audio; newPlaced.imagePath = image; newPlaced.textPath = text; placementObjects.Add(newPlaced); return(newPlaced); }
public void Upgrade() { var interacting = CanvasUI_Main_cs.GetInteracting(); var h = interacting.HouseHoldItemData; if (interacting != null && interacting.HouseHoldItemData.Upgrade != null) { MainGameManager.Cash -= interacting.HouseHoldItemData.upgradeCost; Vector3 p = interacting.transform.position; Quaternion r = interacting.transform.rotation; bool canMove = interacting.CanMove, canDelete = interacting.CanDelete; GameObject.Destroy(interacting.gameObject); GameObject obj = GameObject.Instantiate(h.Upgrade.prefab); obj.name = h.Upgrade.name; obj.transform.position = p; obj.transform.rotation = r; var placementObj = obj.AddComponent <PlacementObject>(); Vector2 wd = CalculateWidthAndDepth(h.Upgrade); placementObj.width = wd.x; placementObj.depth = wd.y; var houseHoldItem = obj.AddComponent <HouseHoldItem_monobehaviour>(); houseHoldItem.SetHouseHoldItemDataID(h.Upgrade.ID); houseHoldItem.CanMove = canMove; houseHoldItem.CanDelete = canDelete; _this.currently_buying = houseHoldItem; _this.currentlyPlacing = placementObj; var transforms = currently_buying.gameObject.GetComponentsInChildren <Transform>(); foreach (var t in transforms) { if (t.GetComponent <MeshCollider>() == null) { var collider = t.gameObject.AddComponent <MeshCollider>(); collider.sharedMesh = t.gameObject.GetComponent <MeshFilter>().sharedMesh; collider.convex = true; } } currently_buying = null; currentlyPlacing = null; CanvasUI_Main_cs.RequestCloseUpgrade(); } }
public void PlaceObject() { if (appStateManager.placementCursorIsSurface) { //logText.text = placementObjects.Count.ToString(); ARReferencePoint newAnchor = anchorManager.AddReferencePoint(appStateManager.placementCursorPose); PlacementObject newPlaced = Instantiate(objectToPlace, appStateManager.placementCursorPose.position, appStateManager.placementCursorPose.rotation, newAnchor.transform); //newPlaced.SetActiveMedia(false); placementObjects.Add(newPlaced); anchors.Add(newAnchor); DragDropBar.gameObject.SetActive(true); createRaycastPanel.SetActive(false); } }
void ChangeSelectedObject(PlacementObject selected) { PlacementObject[] allOtherObjects = FindObjectsOfType <PlacementObject>(); foreach (PlacementObject placementObject in allOtherObjects) { if (placementObject != lastSelectedObject) { placementObject.Selected = false; } else { placementObject.Selected = true; } } }
void RemoveSelectedObject(PlacementObject selected) { foreach (PlacementObject current in placementobjects) { if (selected != current) { current.IsSelected = false; } else { current.IsSelected = true; // current.SetActive(false); } } }
void ChangeSelectedObject(PlacementObject selected) { foreach (PlacementObject current in placedObjects) { MeshRenderer meshRenderer = current.GetComponent <MeshRenderer>(); if (selected != current) { current.IsSelected = false; meshRenderer.material.color = inactiveColor; } else { current.IsSelected = true; meshRenderer.material.color = activeColor; } } }
public void changeSelectedLabel(PlacementObject selected) { if (string.Equals(selected.getLabel().Trim(), "Emergency")) { selected.SetOverlayText("Low Priority"); selected.gameObject.transform.GetComponent <MeshRenderer>().material.SetColor("_EmissionColor", Color.green); } else if (string.Equals(selected.getLabel().Trim(), "Medium")) { selected.SetOverlayText("Emergency"); selected.gameObject.transform.GetComponent <MeshRenderer>().material.SetColor("_EmissionColor", Color.red); } else if (string.Equals(selected.getLabel().Trim(), "Low Priority")) { selected.SetOverlayText("Medium"); selected.gameObject.transform.GetComponent <MeshRenderer>().material.SetColor("_EmissionColor", Color.yellow); } }
void SelectedObject(PlacementObject selected) { PlacementObject[] allOtherObjects = FindObjectsOfType <PlacementObject>(); foreach (PlacementObject current in allOtherObjects) { MeshRenderer meshRenderer = current.GetComponent <MeshRenderer>(); meshRenderer.enabled = true; if (selected != current) { current.Selected = false; meshRenderer.material.color = inactiveColor; } else { current.Selected = true; meshRenderer.material.color = activeColor; } } }
// Update is called once per frame void Update() { if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); if (touch.phase == TouchPhase.Began) { Ray ray = arcamera.ScreenPointToRay(touch.position); RaycastHit hitObject; if (Physics.Raycast(ray, out hitObject)) { PlacementObject placementObject = hitObject.transform.GetComponent <PlacementObject>(); if (placementObject != null) { RemoveSelectedObject(placementObject); hitObject.transform.gameObject.SetActive(false); } } } } }
void Update() { if (Input.touchCount > 0) { Touch posicion = Input.GetTouch(0); touchPosicion = posicion.position; if (posicion.phase == TouchPhase.Began) { Ray ray = arCamara.ScreenPointToRay(posicion.position); RaycastHit hitObject; if (Physics.Raycast(ray, out hitObject)) { PlacementObject placementObjects = hitObject.transform.GetComponent <PlacementObject>(); if (placementObjects != null) { if (placementObjects.gameObject == Arbol) { if (click == false) { click = true; frutaspawn = new GameObject[5]; verduraspawn = new GameObject[2]; for (int i = 0; i < 5; i++) { frutaspawn[i] = Instantiate(fruta.gameObject, new Vector3(gameObject.transform.position.x + Random.Range((float)-0.06, (float)0.06), gameObject.transform.position.y, gameObject.transform.position.z - Random.Range((float)0.015, (float)0.06)), Quaternion.identity); ListFruit.ListaFrutas.Add(frutaspawn[i].AddComponent <Fruta>()); } for (int i = 0; i < 2; i++) { verduraspawn[i] = Instantiate(Verdura, new Vector3(gameObject.transform.position.x + Random.Range((float)-0.06, (float)0.06), gameObject.transform.position.y, gameObject.transform.position.z - Random.Range((float)0.015, (float)0.06)), Quaternion.identity); } } } } } } } }
void ChangeSelectedObject(PlacementObject selected) { Debug.LogError($"changing colour of obects"); PlacementObject[] allOtherObjects = FindObjectsOfType <PlacementObject>(); foreach (PlacementObject current in allOtherObjects) { Debug.LogError($"current is {current}"); MeshRenderer meshRenderer = current.GetComponent <MeshRenderer>(); meshRenderer.enabled = true; Debug.LogError($"mesh renderer{meshRenderer}"); if (selected != current) { current.Selected = false; meshRenderer.material.color = inactiveColor; } else { current.Selected = true; meshRenderer.material.color = activeColor; } } }
void ChangeSelectedObject(PlacementObject selected = null) { foreach (PlacementObject current in placedObjects) { MeshRenderer meshRenderer = current.GetComponent <MeshRenderer>(); if (selected != current) { current.Selected = false; meshRenderer.material.color = inactiveColor; } else { current.Selected = true; meshRenderer.material.color = activeColor; } if (displayOverlay) { current.ToggleOverlay(); } } }
private void Update() { if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); touchPosition = touch.position; if (touch.phase == TouchPhase.Began) { Ray ray = targetCamera.ScreenPointToRay(touchPosition); RaycastHit hitObject; if (Physics.Raycast(ray, out hitObject)) { lastSelectedObject = hitObject.transform.GetComponent <PlacementObject>(); if (lastSelectedObject != null) { PlacementObject [] allOtherObjects = FindObjectsOfType <PlacementObject>(); foreach (PlacementObject placementObject in allOtherObjects) { placementObject.Selected = placementObject == lastSelectedObject; } } } } if (touch.phase == TouchPhase.Ended) { lastSelectedObject.Selected = false; } } if (arRaycastManagerOrigin.Raycast(touchPosition, hits, UnityEngine.XR.ARSubsystems.TrackableType.PlaneWithinPolygon)) { Pose hitPose = hits[0].pose; if (lastSelectedObject.Selected) { lastSelectedObject.transform.position = hitPose.position; lastSelectedObject.transform.rotation = hitPose.rotation; } } }