private void Point() { _petState = PetState.Targeted; PlayerWatchData playerWatchData = _camera.GetComponent <PlayerWatchData>(); if (playerWatchData) { (GameObject hit, Transform potentialTarget, float touchDistance) = playerWatchData.GetRaycast(); if (hit.GetComponent <ObjectiveCompanionReachPoint>() || hit.GetComponent <Bush>()) { _currentTarget = potentialTarget; _interactionDistance = touchDistance; Move(potentialTarget, touchDistance); } else { Debug.Log(string.Format("Hit missed. Reason: {0} {1} {2}", hit, hit.GetComponent <ObjectiveCompanionReachPoint>(), potentialTarget)); _petState = PetState.Follow; } } else { _petState = PetState.Follow; return; } }