public static void Mate(Unit unit) { GameObject closestMateObj = UnitQueries.ClosestMate(unit); if (closestMateObj == null) return; Unit closestMate = closestMateObj.GetComponent<Unit>(); closestMate.horny = false; unit.horny = false; List<Unit> allies = GameManager.gameManager.petList; List<Unit> enemies = GameManager.gameManager.enemyList; if ( allies.Count + enemies.Count < GameManager.gameManager.maxUnits) { //todo: spawn in position of parents: force into orbit GameManager.gameManager.GetSpeciesFromName(unit.speciesName).Spawn(); } }
public static void TargetMate(Unit unit) { GameObject closestMate = UnitQueries.ClosestMate(unit); if (closestMate == null) return; unit.GetComponent<Target>().Change(closestMate, closestMate.GetComponent<Unit>().matingDistance); }