File tree 1 file changed +16
-2
lines changed
1 file changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -22,6 +22,20 @@ internal sealed class SerializableInterfacePropertyDrawer : PropertyDrawer
22
22
23
23
private ReferenceMode ReferenceMode => ( ReferenceMode ) ReferenceModeProperty . enumValueIndex ;
24
24
25
+ private object RawReferenceValue
26
+ {
27
+ get
28
+ {
29
+ #if UNITY_2021_1_OR_NEWER
30
+ return RawReferenceProperty . managedReferenceValue ;
31
+ #else
32
+ ISerializableInterface instance =
33
+ ( ISerializableInterface ) fieldInfo . GetValue ( serializedProperty . serializedObject . targetObject ) ;
34
+ return instance . GetRawReference ( ) ;
35
+ #endif
36
+ }
37
+ }
38
+
25
39
/// <inheritdoc />
26
40
public override bool CanCacheInspectorGUI ( SerializedProperty property )
27
41
{
@@ -113,13 +127,13 @@ Type genericArgument
113
127
114
128
EditorGUI . PropertyField ( objectDrawerRect ,
115
129
RawReferenceProperty ,
116
- new GUIContent ( RawReferenceProperty . managedReferenceValue . GetType ( ) . Name ) ,
130
+ new GUIContent ( RawReferenceValue . GetType ( ) . Name ) ,
117
131
true ) ;
118
132
}
119
133
120
134
private void DrawRawReference ( Rect position )
121
135
{
122
- Type type = RawReferenceProperty . managedReferenceValue . GetType ( ) ;
136
+ Type type = RawReferenceValue . GetType ( ) ;
123
137
string typeName = type . Name ;
124
138
IEnumerable < MonoScript > scripts = AssetDatabase . FindAssets ( $ "t:Script { typeName } ")
125
139
. Select ( AssetDatabase . GUIDToAssetPath )
You can’t perform that action at this time.
0 commit comments