void OnFetch(Throwable other) { Debug.Log("Fetching object at: " + other.transform.position); // if (IsThirsty() || IsHungry()) return; if (BusyState == BusyType.SearchingForResource) { return; } else { SetBusy(BusyType.Fetching); } var pos = other.transform.position; agent.SetDestination(pos); var distance = Vector3.Distance(pos, transform.position); // Debug.Log(distance); if (distance < 1.0f) { var fetch = transform.Find("FetchLoc"); if (fetch == null) { other.transform.parent = transform; } else { var scale = other.transform.localScale; other.transform.position = Vector3.zero; other.transform.parent = fetch; other.transform.localRotation = Quaternion.identity; other.transform.localPosition = Vector3.zero; } other.Reset(); } }