public static void Harvest(Unit unit) { if (unit.currentGenetiumAmount > unit.carryingCapacity) return; Genetium genetium = unit.GetComponent<Target>().targetGameObject.GetComponent<Genetium>(); if (genetium == null) return; float amountHarvested = Mathf.Min(genetium.transferRate * Time.deltaTime * GameManager.gameManager.countsBetweenUpdates, genetium.currentAmount); genetium.currentAmount -= amountHarvested; unit.currentGenetiumAmount += amountHarvested; }
public static List <GameObject> FilterEmptyGenetium(List <GameObject> genetiums) { List <GameObject> nonEmptyGenetiums = new List <GameObject>(); foreach (GameObject genetium in genetiums) { Genetium genetiumComponent = genetium.GetComponent <Genetium>(); if (genetiumComponent.currentAmount > genetiumComponent.consideredEmpty) { nonEmptyGenetiums.Add(genetium); } } return(nonEmptyGenetiums); }