Привет народ! Возникла проблема: есть префаб с NavMeshAgent и скриптом рандомного патрулирования по точкам.
При запуске игры, этот префаб спавнится(изначально он лежит в ассетах проекта) в сцену скриптом, который уже находится на объекте в сцене.
Так-же точки патруля находятся в сцене. Проблема в том, что я не могу повесить эти точки в инспектор скрипта префаба.
Если же я перемещаю точки из иерархии сцены, в ассеты проекта (т.е. автоматически создаются перфабы), то повесить их в инспектор префаба можно,
но при этом префаб начинает двигаться к краю NavMesh, игнорируя точки патруля. Можно ли как-то наследовать точкам которые я перенёс
в ассеты проекта, координаты точек находящихся в иерархии? Я понимаю, что нужно использовать поиск по тэгам, но как найденные объекты добавить в массив не догоню. Сам скрипт:
Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class patrolRandomRotate : MonoBehaviour
{
    public Transform[] moveSpots;
    private int randomSpot;
    NavMeshAgent nav;
    public float speed = 3f;
    private float waitTime;
    public float startWaitTime = 0.5f;
    GameObject[] mPoint;
    void Start()
    {
        mPoint = GameObject.FindGameObjectsWithTag("points");
        Debug.Log(mPoint.Length);
        waitTime = startWaitTime;
        randomSpot = Random.Range(0, moveSpots.Length);
    }
    private void Awake()
    {
        nav = GetComponent<NavMeshAgent>();
        nav.enabled = true;
    }
    void Update()
    {
        Patroling();
    }
    void Patroling()
    {
        nav.SetDestination(moveSpots[randomSpot].position);
        transform.position = Vector3.MoveTowards(transform.position, moveSpots[randomSpot].position, speed * Time.deltaTime);
        if (Vector3.Distance(transform.position, moveSpots[randomSpot].position) < 2.0f)
        {
            if (waitTime <= 0)
            {
                randomSpot = Random.Range(0, moveSpots.Length);
                waitTime = startWaitTime;
            }
            else
            {
                waitTime -= Time.deltaTime;
            }
        }
    }
}