public static void Update() { if (!Recording) return; int distance = 10; Vector2 playerPosition = new Vector2(ObjectManager.Me.X, ObjectManager.Me.Y); if (Math.Abs(Vector2.Distance(playerPosition, lastWaypoint.Position)) > distance) { Waypoint newWaypoint = new Waypoint() { Position = playerPosition }; List<Waypoint> sortWaypoints = WaypointManager.waypoints.FindAll(wp => Vector2.Distance(wp.Position, newWaypoint.Position) <= 12).ToList(); if (sortWaypoints.Count == 0 || Vector2.Distance(sortWaypoints[0].Position, newWaypoint.Position) > 7) { if (lastWaypoint != null) newWaypoint.Connections.Add(lastWaypoint); // Vise Versa newWaypoint.Connections.AddRange(sortWaypoints); WaypointManager.waypoints.Add(newWaypoint); } else { sortWaypoints.RemoveAt(0); sortWaypoints[0].Connections.AddRange(sortWaypoints); lastWaypoint = sortWaypoints[0]; } lastWaypoint = newWaypoint; } }
public void DrawWp(Waypoint waypoint) { if (waypoint == WaypointRecorder.lastWaypoint) { DrawPoint(Icons.Mob, "", new Vector2(waypoint.Position.X, waypoint.Position.Y)); } else { DrawPoint(Icons.WP, "", new Vector2(waypoint.Position.X, waypoint.Position.Y)); } }