示例#1
0
 public abstract void FindPath(FixVector3 startPosition, FixVector3 destination, int areaMask, OnPathFoundHandler handler);
示例#2
0
 public override void FindPath(FixVector3 startPosition, FixVector3 destination, int areaMask, OnPathFoundHandler handler)
 {
 }
示例#3
0
        public override void FindPath(FixVector3 startPosition, FixVector3 destination, int areaMask, OnPathFoundHandler handler)
        {
            NavMeshPath p = new NavMeshPath();

            filter.areaMask = areaMask;
            agent.areaMask  = areaMask;
            NavMesh.CalculatePath(startPosition.vector3, destination.vector3, filter, p);

            DebugUtils.Assert(p.corners != null, string.Format("the path for soldier {0} is null!", owner.id));
            DebugUtils.Assert(p.corners.Length > 0, string.Format("the path for soldier {0} is 0 length!", owner.id));

            List <FixVector3> path = new List <FixVector3>();

            for (int i = 0; i < p.corners.Length; i++)
            {
                path.Add(new FixVector3(p.corners[i]));
            }

            handler(path);
        }