Сериализованные свойства не изменяются в пользовательском редакторе - PullRequest
0 голосов
/ 05 февраля 2020

Я создал объект и редактировал его с помощью специального редактора. Частные переменные редактируются через SerializedProperties

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

using UnityEngine.Serialization;
using UnityEngine.UI;
using UnityEditor;
using UnityEngine.Video;

[CustomEditor(typeof(StreamVideo))]
public class StreamVideoEditor : Editor
{
    StreamVideo script;
    private SerializedProperty _playOnAwake;
    private SerializedProperty _hideObjectOnStart;
    private SerializedProperty _loop;
    private SerializedProperty _Object2hide;
    private SerializedProperty _volume;


    protected virtual void OnEnable()
    {
        script = (StreamVideo)target;

        _playOnAwake = serializedObject.FindProperty("playOnAwake");
        _hideObjectOnStart = serializedObject.FindProperty("HideObjectOnStart");
        _loop = serializedObject.FindProperty("loop");

        _Object2hide = serializedObject.FindProperty("ObjectToHide");
        _volume = serializedObject.FindProperty("Volume");

        RequiresConstantRepaint();

    }

    public override void OnInspectorGUI()
    {
        serializedObject.Update();
        _playOnAwake.boolValue = EditorGUILayout.Toggle("Play on Awake", _playOnAwake.boolValue);
        _hideObjectOnStart.boolValue = EditorGUILayout.Toggle("Hide Object On Start", _hideObjectOnStart.boolValue);
        _loop.boolValue = EditorGUILayout.Toggle("Loop", _loop.boolValue);

        if (_hideObjectOnStart.boolValue)
        {
            EditorGUILayout.ObjectField(_Object2hide, new GUIContent("Object to hide"));
        }
        ...   
      }
    }

без ошибок, и все отображается нормально НО Я не могу изменить любой объект, который определяется serializedObject. Например, я не могу изменить ни одного переключателя;

в Интернете почти нет информации об этом, кто-нибудь сталкивался с проблемой? есть какое-нибудь решение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...