public void getPressPosInteractable() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (!Input.GetMouseButtonDown(0)) { return; } RaycastHit hit; // Check if item pressed is interactable. if (!Physics.Raycast(ray, out hit, layerMask)) { Debug.Log("Nothing hit"); return; } hitCollider = hit.collider.transform.position; otherObject = hit.collider.gameObject; //Debug.Log("Item has been pressed " + hit.collider.name); if (hit.collider.tag != "interactable" && hit.collider.tag != "arrow") { Debug.Log("Destroyed Arrows"); InstantDestroyArrows(); } // Check if interactable object has been moved to, and what direction you're in. if (hit.collider.tag == "interactable" /* && Vector3.Distance(transform.position, otherObject) < 1 */) { // objectPressedBool = true; // Debug.Log("Entered box click"); // LockMovement(); objectClicked = hit.collider.gameObject; InstantDestroyArrows(); if (arrowInteractionSwitcher) { OldSpawnArrows(); } else { bool[] arrowBool = new bool[2]; arrowBool = _ISC.IsHorizontal(otherObject); if (arrowBool[1] == true) { if (arrowBool[0] == true) { _moveObject.CheckNorthSouth(objectClicked); } else { _moveObject.CheckWestEast(objectClicked); } } else { Debug.Log("Out of bounds"); } } } if (hit.collider.tag == "arrow") { Debug.Log("Entered arrow statement"); arrowClicked = hit.collider.gameObject; /* if(hit.collider.tag == "northArrow") { * Debug.Log("North arrow clicked"); * } * if(hit.collider.tag == "southArrow") { * Debug.Log("North arrow clicked"); * } * if(hit.collider.tag == "northArrow") { * Debug.Log("North arrow clicked"); * } * if(hit.collider.tag == "northArrow") { * Debug.Log("North arrow clicked"); * } */ switch (hit.collider.name) { case "northArrow": //Debug.Log("North Arrow Clicked"); _moveObject.MoveNorth(objectClicked, arrowInteractionSwitcher); DestroyArrows(hit.collider.gameObject); break; case "southArrow": //Debug.Log("South Arrow Clicked"); _moveObject.MoveSouth(objectClicked, arrowInteractionSwitcher); DestroyArrows(hit.collider.gameObject); break; case "eastArrow": //Debug.Log("East Arrow Clicked"); _moveObject.MoveEast(objectClicked, arrowInteractionSwitcher); DestroyArrows(hit.collider.gameObject); break; case "westArrow": //Debug.Log("West Arrow Clicked"); _moveObject.MoveWest(objectClicked, arrowInteractionSwitcher); DestroyArrows(hit.collider.gameObject); break; default: //Debug.Log("Name doesn't exist"); break; } /* if(colliding ) { * otherObject.transform.position = oldPos; * // Play not moveable animation * } * * else { * otherObject.transform.position = oldPos; * Vector3.Lerp(hitCollider, new Vector3(hitCollider.x, hitCollider.y, hitCollider.z), interactStep); * // Play move animation * } */ } /* CheckObjectMovement(otherObject); */ }