void OnEnable()
{
rb.AddForce(Vector3.up*0.1f, ForceMode.Impulse)
}
GameObject[] zombies = GameObject.FindGameObjectsWithTag("Zombie");
foreach (GameObject zombie in zombies)
{
octree.Add(zombie, zombie.GetComponent<Collider>().bounds);
}
List<GameObject> nearbyZombies = new List<GameObject>();
if (!zombie.isAlive)
{
closestDistanceSqr = maxDistance * maxDistance;
target = null;
}
void LockTarget()
{
Collider[] zombies = Physics.OverlapSphere(turret.transform.position, maxDistance, _targetMask);
Transform target = null; //должна быть глобальная или передавать через return
if (!(zombies.Length > 0)) return;
float mindist = maxDistance;
foreach (Collider c in zombies)
{
float currentDist = Vector3.Distance(turret.transform.position, c.gameObject.transform.position);
if ((currentDist<mindist))
{
mindist = currentDist;
target = c.gameObject.transform;
}
}
}
Получится в 1м скрипте будем распаковщик префабов пример то то что у вас уже есть, ну а во втором сортировщик по листам и возражение количества объектов