| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | 
							- using System.Collections.Generic;
 
- using UnityEngine;
 
- namespace Core.Utility
 
- {
 
-     public class BesselPathGroup
 
-     {
 
-         public float lane;
 
-         public List<BesselPath> allBesselPath = new List<BesselPath>();
 
-         public void AddBesselPath(BesselPath besselPath)
 
-         {
 
-             allBesselPath.Add(besselPath);
 
-         }
 
-         public void Start()
 
-         {
 
-             lane = 0;
 
-             for (int i = 0; i < allBesselPath.Count; i++)
 
-             {
 
-                 BesselPath besselPath = allBesselPath[i];
 
-                 besselPath.SetLengthAtT();
 
-                 lane += besselPath.allDis;
 
-             }
 
-         }
 
-         public Vector3 CalculatePoint(float t)
 
-         {
 
-          
 
-             // BesselPath currBeselPath = null;
 
-             float currLane = 0;
 
-             Vector3 endPos=Vector3.zero;
 
-             for (int i = 0; i < allBesselPath.Count; i++)
 
-             {
 
-                 BesselPath besselPath = allBesselPath[i];
 
-                 endPos=besselPath.controlPoints[^1];
 
-                 float allLane = currLane;
 
-                 allLane += besselPath.allDis;
 
-                 float b = allLane / lane;
 
-                 if (t <= b)
 
-                 {
 
-                     float lasetB = currLane / lane;
 
-                     b -= lasetB;
 
-                     t -= lasetB;
 
-                     float currB = t / b;
 
-                     return besselPath.CalculatePoint(currB);
 
-                 }
 
-                 currLane = allLane;
 
-             }
 
-             return endPos;
 
-         }
 
-     }
 
- }
 
 
  |