using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEngine;
public class CompareObjects : EditorWindow
{
string searchString = "";
List<GameObject> items = FindObjectsOfType(typeof(GameObject)).ToList();
void OnGUI()
{
GUILayout.BeginHorizontal(EditorStyles.toolbar);
GUILayout.FlexibleSpace();
searchString = GUILayout.TextField(searchString, EditorStyles.toolbarTextField);
GUILayout.EndHorizontal();
// Do comparison here. For example
for (int i = 0; i < items.Length; i++)
{
if (items[i].name.Contains(searchString))
{
GUI.Label(items[i].name);
}
}
}
}
Первая проблема - я не могу преобразовать массив из:
FindObjectsOfType(typeof(GameObject))
В список.
Секунды, как я могу зациклить объекты в двух сценах? Я хочу провести сравнение между объектами сцены a и сцены b, а также иметь возможность сузить поиск объектов с конкретными компонентами и перечислить результаты в EditorWindow: список A объектов с компонентами в сцене A и список Bобъекты с компонентами в сцене B
Например, если я наберу в строке поиска: Space, BoxCollider, то он должен найти все объекты в обеих сценах, которые содержат имя Space и к которым также прикреплен BoxCollider или без BoxColliderattach.
Я хочу узнать в результате, какие объекты с именем Space имеют boxcollider, а какие нет.
Пример:
List A : Space1 BoxCollider -- Scene A
List A : Space2 Empty -- Scene A
List B : Space1 Empty -- Scene B
List B : Space2 BoxCollider -- Scene B
Что-то похожее на это сравнение.