public override void OnInspectorGUI() { Regions regions = (Regions)target; if (GUILayout.Button("Open Editor")) { RegionEditorWindow.Open(regions); } base.OnInspectorGUI(); var obj = regions.gameObject.GetComponentsInChildren <Region>(); for (int i = 0; i < regions.regions.Count; i++) { if (regions.regions[i] == null) { regions.regions.RemoveAt(i); i--; } } foreach (var region in obj) { if (!regions.regions.Contains(region.gameObject)) { regions.regions.Add(region.gameObject); } } }
public static void Open(Regions content) { RegionEditorWindow window = GetWindow <RegionEditorWindow>("Regions Editor"); window.my = content; }