protected void Create_Standard_Patrol(int End_A, int End_B) { List <int> Route = NetworkMethod.Dijkstrafy_Routes(map, new List <int>() { End_A, End_B }); if (Route.Count > 2) { List <int> Way_Back = new List <int>(); for (int I = Route.Count - 2; I >= 1; I--)//cuts the first and last point - these would just be repeats. { Way_Back.Add(Route[I]); } Route.AddRange(Way_Back); } AIMoveManager.Instance.RemoveFromRR(Route); Default_Route_Waypoints = Create_New_Waypoint_Set(Route); if (Default_Route_Waypoints.Count == Route.Count) { Default_Route_Waypoint_Rooms = Route; } else { Default_Route_Waypoint_Rooms = new List <int>(); for (int I = 0; I < Default_Route_Waypoints.Count; I++) { Default_Route_Waypoint_Rooms.Add(RectMethod.FindWhatRoomLocationIsIn(Default_Route_Waypoints[I], map, out bool VOID)); } } NextWaypointNum = AssignStartingWaypoint(); }
protected void Create_Long_Circuit_Patrol(List <int> Visits)//doesn't have to be sorted { List <int> Route = NetworkMethod.Dijkstrafy_Routes(map, Visits); AIMoveManager.Instance.RemoveFromRR(Route); Default_Route_Waypoints = Create_New_Waypoint_Set(Route); if (Default_Route_Waypoints.Count == Route.Count) { Default_Route_Waypoint_Rooms = Route; } else { Default_Route_Waypoint_Rooms = new List <int>(); for (int I = 0; I < Default_Route_Waypoints.Count; I++) { Default_Route_Waypoint_Rooms.Add(RectMethod.FindWhatRoomLocationIsIn(Default_Route_Waypoints[I], map, out bool VOID)); } } NextWaypointNum = AssignStartingWaypoint(); }