public override bool checkProceduralPrecondition(GameObject agent) { if (farms == null) { farms = FindObjectsOfType(typeof(FarmComponent)) as FarmComponent[]; } if (sortedFarms == null) { sortedFarms = farms.OrderBy(t => Vector3.Distance(transform.position, t.transform.position)); } if (closest == null) { foreach (FarmComponent farm in sortedFarms) { if (farm.farmResource > 0 && farm.engaged != true) { closest = farm; break; } } } if (closest != null) { target = closest.gameObject; } return(closest != null); }
public override void reset() { farmed = false; startTime = 0; closest = null; }