Показать сообщение отдельно
Старый 26.02.2013, 04:35   #1
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
EditorGUILayout.EnumPopup

Имеем простой класс
public class MyClass
{
  public string result="";
}
Делаем для него расширение в инспекторе и засовываем туда enum
[CustomEditor(typeof(MyClass))]
public class ClassExp : Editor
{
 public enum MyEnum
   {
    var1, var2, var3, var4
   }
   MyEnum myEnum=MyEnum.var2;

   override public void OnInspectorGUI()
    {
       MyClass mClass=(MyClass)target;
       myEnum = (MyEnum)EditorGUILayout.EnumPopup("Select new variable:",myEnum);
       mClass.result=myEnum.ToString();
    }
}
В итоге получаем для нашего обьекта дополнительное поле в инспекторе. Выставляем в инспекторе значение энума отличное от var2, запускаем плеймод. В итоге в инспекторе видим дефолтное значение перечислителя var2. С какого перепугу за три часа причину так и не нашел. Приводить энум к инту пробовал(советовали на офф форуме)- результат тот же, сбрасывает на значение, установленное при обьявлении.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием