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)); }
public PoolObjectQueue <PathDiscoveryPoint> GetPathDiscoveryPool(PathDiscoveryPoint prefab) { if (PathDiscoveryPointObjectPoolQueue.ContainsKey(prefab.name)) { return(PathDiscoveryPointObjectPoolQueue[prefab.name]); } else { CreateNewObjectQueue <PathDiscoveryPoint>(PathDiscoveryPointObjectPoolQueue, prefab); return(PathDiscoveryPointObjectPoolQueue[prefab.name]); } }