Ошибка настраиваемого редактора Unity "тип не поддерживает значение int" - PullRequest
0 голосов
/ 08 мая 2020

Я делал свой собственный редактор сценариев с SerializedProperty переменными, но получил следующую ошибку:

type is not a supported int value
UnityEditor.SerializedProperty:get_boolValue()

Причина, по которой я использовал типы переменных SerializedProperty, заключается в том, что я использую сценарий на префабе, что может вызвать некоторые проблемы с переопределением параметров.

Вот мой скрипт редактора:

using UnityEditor;
using UnityEngine;
using sp = UnityEditor.SerializedProperty;

[CustomEditor (typeof (ScriptName))]
public class SwitchableObjectEditor : Editor {

    SerializedProperty usePanel, morningHint;

    protected virtual void OnEnable () {
        usePanel = serializedObject.FindProperty ("morningHint");
        morningHint = serializedObject.FindProperty ("morningHint");
    }

    public override void OnInspectorGUI () {
        if (UnityEditor.EditorApplication.isPlaying)
            return;
        ScriptName s = (ScriptName) target;

        usePanel.boolValue = EditorGUILayout.Toggle (usePanel.boolValue);
        morningHint.stringValue = EditorGUILayout.TextArea (morningHint.stringValue);
        this.serializedObject.ApplyModifiedProperties ();
    }
}

Я был разочарован, потому что переменная morningHint работала нормально.

1 Ответ

1 голос
/ 08 мая 2020

Оказывается, я забыл изменить значение serializedObject.FindProperty() для usePanel, изменив его, все устранило.

Просто поместил это здесь на тот случай, если кто-то допустил ту же ошибку.

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