У меня есть эта функция:
private void SortSelectables()
{
List<Selectable> originalSelectables = Selectable.allSelectables;
int totalSelectables = originalSelectables.Count;
m_orderedSelectables = new List<Selectable>(totalSelectables);
for (int index = 0; index < totalSelectables; ++index)
{
Selectable selectable = originalSelectables[index];
m_orderedSelectables.Insert(FindSortedIndexForSelectable(index, selectable), selectable);
}
}
И я получаю предупреждение 'Selectable.allSelectables' is obsolete: 'Replaced with allSelectablesArray to have better performance when disabling a element'
Я посмотрел на документацию , и я знаю, что она ясно говорит Selectable.allSelectables
устарел. Тем не менее, я попытался заменить его на Selectable.allSelectablesArray
, и теперь предупреждение является ошибкой, а именно: Cannot implicitly convert type 'UnityEngine.UI.Selectable[]' to 'System.Collections.Generic.List<UnityEngine.UI.Selectable>'
.
Я уверен, что что-то упущено в типе Selectable
, который я не делаю В любом случае, я не совсем понимаю.
РЕДАКТИРОВАТЬ: изменение от List до Selectable[] originalSelectables
делает меня неспособным использовать свойство Count в следующей строке.