Имеем простой класс
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. С какого перепугу за три часа причину так и не нашел. Приводить энум к инту пробовал(советовали на офф форуме)- результат тот же, сбрасывает на значение, установленное при обьявлении.