Начинающий
Начинающий
- Статус
- Оффлайн
- Регистрация
- 26 Ноя 2018
- Сообщения
- 57
- Реакции
- 18
Всем привет ребята, делаю редактор и появились проблемы с полями компонентов(при их выводе для изменения).
У меня проблема с методом GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic).
Почему-то он возвращает не все поля которые есть в классе.
А именно он возвращает поля на которых висит атрибут [HideInspector], и иногда в списке полей лежат приватные. Мне же нужно, вернуть все до единого поля класса, не подскажите компибаницию BindingFlags.Public, что бы совершить это.
Вторая проблема, я рисую для каждого выведенного поля GUI.TextField, но когда пишу в один из них, изменяются всё поля до единого.
Спасибо заранее за вашу помощь.
Код:
foreach (FieldInfo field in Type.GetType(this.CurrentComponentEditor.GetType().FullName).GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
{
this.fieldsPositionY += 20;
GUI.Label(new Rect(5f, (float)this.fieldsPositionY, 500f, 50f), string.Concat(new string[]
{
field.Attributes.ToString(),
" ",
field.FieldType.Name,
" ",
field.Name,
" ",
field.GetValue(this.CurrentComponentEditor).ToString()
}));
this.SetNewValueField = GUI.TextField(new Rect(300f, (float)this.fieldsPositionY, 100f, 20f), this.SetNewValueField);
if (GUI.Button(new Rect(400f, (float)this.fieldsPositionY, 50f, 20f), "Ok"))
{
field.SetValue(this.CurrentComponentEditor, Convert.ChangeType(111, field.FieldType));
}
}
У меня проблема с методом GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic).
Почему-то он возвращает не все поля которые есть в классе.
А именно он возвращает поля на которых висит атрибут [HideInspector], и иногда в списке полей лежат приватные. Мне же нужно, вернуть все до единого поля класса, не подскажите компибаницию BindingFlags.Public, что бы совершить это.
Вторая проблема, я рисую для каждого выведенного поля GUI.TextField, но когда пишу в один из них, изменяются всё поля до единого.
Спасибо заранее за вашу помощь.