Newer
Older
Dreamsturbia-Project-IADE-Unity3D / Assets / Editor / WaypointEditor.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(Waypoint))]
[CanEditMultipleObjects]
public class WaypointEditor : Editor
{
    // Start is called before the first frame update
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        if (GUILayout.Button("Link Waypoints"))
        {
            Waypoint wp = (Waypoint)target;

            if (wp.edges != null)
            {
                foreach (Waypoint neighbouringWaypoint in wp.edges)
                {
                    Waypoint elementLinked = null;
                    foreach (Waypoint neighbourElement in neighbouringWaypoint.edges)
                    {
                        if (neighbourElement != null)
                        {
                            if (neighbourElement.Equals(wp))
                            {
                                elementLinked = neighbourElement;
                                break;
                            }
                        }

                    }
                    if (elementLinked == null)
                    {
                        List<Waypoint> newWaypointList = new List<Waypoint>(neighbouringWaypoint.edges);
                        newWaypointList.Add(wp);
                        neighbouringWaypoint.edges = newWaypointList.ToArray();
                    }
                }
            }


        }

       
    }

    
}