Как можно сравнить два списка в скрипте редактора, чтобы цикл for создавался только один раз, когда списки имеют разный размер?

Как говорили другие, это новый синтаксис для создания функций.

Однако этот вид функций отличается от обычных:

  • Они связывают this стоимость. Как объяснено , spec , An ArrowFunction не определяет локальные привязки для arguments, super, this или new.target. Любая ссылка на arguments, super, this или new.target в ArrowFunction должна быть разрешена к привязке в лексически закрывающей среде. Обычно это будет функциональная среда сразу входящей функции. Хотя функция ArrowFunction может содержать ссылки на super, функциональный объект, созданный на шаге 4, не превращается в метод, выполняя MakeMethod . Функция ArrowFunction , которая ссылается на super, всегда содержится внутри функции [ Arrow [], а необходимое для реализации super доступное через область который захватывается функциональным объектом ArrowFunction .
  • Они неконструкторы. Это означает, что у них нет внутреннего метода [[Construct]] и, следовательно, он не может быть создан, например.
    var f = a => a;
    f(123);  // 123
    new f(); // TypeError: f is not a constructor
    

0
задан Dubi Duboni 31 March 2019 в 00:38
поделиться

2 ответа

Вы можете использовать BeginChangeCheck / EndChangeCheck, чтобы обнаружить модификацию.

EditorGUI.BeginChangeCheck();

_conversations.arraySize = EditorGUILayout.IntField("Conversations Size", _conversations.arraySize);

if(EditorGUI.EndChangeCheck()) {
     for ...
}

Просмотр страницы

page = EditorGUILayout.IntField("Page", page);
int index = page * countPerPage;

for(int x = index; i < Mathf.Min(_conversations.arraySize, index + countPerPage); ++i)
{
    ...
}
0
ответ дан shingo 31 March 2019 в 00:38
поделиться

Вы можете попытаться сохранить только размер массива старых разговоров в целое число, не сохраняя второй массив. Но есть шанс, что это не сработает, потому что я думаю, что код onInspectorGui должен выполняться при каждом вызове (но не уверен в этом).

0
ответ дан MSauer 31 March 2019 в 00:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: