Как заполнить поле инспектора из скрипта редактора снаружи
Имеется вот такой код
[SerializeField]
private GameObject map;
void OnValidate()
{
map = GameObject.FindGameObjectWithTag("map");
}
Он добавляет в поле инспектора объект, который находит на сцене. Но делает это изнутри самого скрипта.
А как заполнить поле инспектора из скрипта редактора снаружи?
Хотелось бы что то вроде этого
Псведокод:
Asset assetForField = AssetDatabase.GetAssetByPath("assetForSerializeField")
Fields[] fields = AssetDatabase.GetSerializeFieldsOfGameObject("map");
foreach(field in fields)
{
if(field.name.Equals("_map")
{
field.FillSerializeField(assetForField);
}
}
Ответы (1 шт):
Автор решения: Vlad Klyuenkov
→ Ссылка
Уберите этот код из OnValidate() и тогда в инспекторе нужно будет кинуть нужный object