protected void Start()
    {
        if (DistanceBetweenPoints <= 0)
        {
            DistanceBetweenPoints = 0.3f;
        }


        //OnPathCalculation();
        NormalizedTLeaps       = (1f / 250f);
        PathDiscoveryPointPool = GameObjectPool.Instance.GetPathDiscoveryPool(PathDiscoveryPointPrefab);
        PathDiscoveryPoint[] pds = new PathDiscoveryPoint[500];
        int counter = 0;

        for (float i = 0; i < 1.0f; i += NormalizedTLeaps)
        {
            PathDiscoveryPoint pd = PathDiscoveryPointPool.Get();
            pd.transform.position = spline.GetPoint(i);
            pd.Proximity          = i;
            //pd.gameObject.SetActive(true);
            pds[counter] = pd;
            pd           = null;
            counter     += 1;
        }

        pathphobject = GameObjectPool.Instance.PlaceHoldersDict["_PlaceHolder_" + PathDiscoveryPointPrefab.name];



        StartCoroutine(movePathObjectsAndTriggerDetection(pds));
    }
Exemplo n.º 2
0
 public PoolObjectQueue <PathDiscoveryPoint> GetPathDiscoveryPool(PathDiscoveryPoint prefab)
 {
     if (PathDiscoveryPointObjectPoolQueue.ContainsKey(prefab.name))
     {
         return(PathDiscoveryPointObjectPoolQueue[prefab.name]);
     }
     else
     {
         CreateNewObjectQueue <PathDiscoveryPoint>(PathDiscoveryPointObjectPoolQueue, prefab);
         return(PathDiscoveryPointObjectPoolQueue[prefab.name]);
     }
 }