public abstract void FindPath(FixVector3 startPosition, FixVector3 destination, int areaMask, OnPathFoundHandler handler);
public override void FindPath(FixVector3 startPosition, FixVector3 destination, int areaMask, OnPathFoundHandler handler) { }
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); }