2017-01-11 6 views
0

Использование Unity3Ds, встроенного в систему EditorGUI. Я хотел бы облегчить работу с моим gamedesigner, создав собственный редактор для диалоговых систем. Я хотел бы иметь возможность вставлять имена элементов в редактор EnumPopup. Проблема в том, что мой список/массив элементов генерируется во время выполнения, поэтому я не могу использовать его как enum.Unity3D - Array to Enum

Каждый из моих элементов также имеет назначенный ItemID, что делает логику enum немного проще.

Как я могу преобразовать Dictionary<int, Item> к enum, который затем может быть использован в ...

EnumPopup(Enum selected, params GUILayoutOption[] options);

+0

Массив/список/словарь - это совершенно разные типы объектов для перечислений - между ними нет никакого преобразования. Ваш текущий дизайн несовместим с тем, что вы пытаетесь сделать. – Abion47

ответ

2

Почему бы вам не использовать EditorGUILayout.Popup? Вы можете перечислить значения вашего словаря в виде строки и передать их во всплывающие окна в качестве параметров.

+0

Ну, это не отвечает на начальный вопрос, но это решение для того, чего пытается достичь искатель. Это было полезно для меня –

+0

Ну, конечно, это решение, чтобы обойти часть 'enum'. Спасибо! –