using System.Collections.Generic; using UnityEditor; using UnityEngine; namespace IronMountain.Wayfinding.Editor { public class MenuItems : MonoBehaviour { [MenuItem("Component/Wayfinding/Join %j", false)] static void JoinWaypoints(MenuCommand menuCommand) { List waypoints = new List(); foreach (GameObject gameObject in Selection.gameObjects) { Waypoint waypoint = gameObject.GetComponent(); if (waypoint) waypoints.Add(waypoint); } foreach (var waypoint in waypoints) { if (!waypoint) continue; foreach (var neighbor in waypoints) { if (!neighbor || waypoint == neighbor) continue; waypoint.AddNeighbor(neighbor); } } } [MenuItem("Component/Wayfinding/Separate %#j", false)] static void SeparateWaypoints(MenuCommand menuCommand) { List waypoints = new List(); foreach (GameObject gameObject in Selection.gameObjects) { Waypoint waypoint = gameObject.GetComponent(); if (waypoint) waypoints.Add(waypoint); } foreach (var waypoint in waypoints) { if (!waypoint) continue; foreach (var neighbor in waypoints) { if (!neighbor || waypoint == neighbor) continue; waypoint.RemoveNeighbor(neighbor); } } } } }