private void CheckForInput(RaycastHit hitInfo) { //check for down if (Input.GetMouseButtonDown(0) && currentGazeObj != null) { currentSelectedObj = currentGazeObj; currentSelectedObj.OnPress(hitInfo); } //check for hold else if (Input.GetMouseButton(0) && currentSelectedObj != null) { currentSelectedObj.OnHold(hitInfo); } else if (Input.GetMouseButtonUp(0) && currentSelectedObj != null) { currentSelectedObj.OnRelease(hitInfo); currentSelectedObj = null; } //check for release }