protected override void DrawComponentAfterDependenceCheck(Rect position, SerializedProperty property, GUIContent label, System.Type p_type) { SerializableTypeAttribute v_attr = (SerializableTypeAttribute)attribute; SerializableType v_serType = GetSerializableType(property); SerializableType v_newType = InspectorUtils.SerializableTypePopup(position, label.text, v_serType, v_attr.FilterType, v_attr.AcceptGenericDefinitions); if (v_newType == null) { v_newType = new SerializableType(); } if (v_serType.CastedType != v_newType.CastedType || v_serType.StringType != v_newType.StringType) { SetSerializableType(property, v_newType); try { EditorUtility.SetDirty(property.serializedObject.targetObject); } catch {} } }