Summary
Returns the
Animancer.Editor.PropertyAccessor.Field
if there is one or tries to get it from the object's type.- Assembly
- Animancer
.dll - Namespace
- Animancer
.Editor - Containing Type
- PropertyAccessor
Syntax
public FieldInfo GetField(ref Object obj)
Examples
[Serializable]
public class InnerClass
{
public float value;
}
[Serializable]
public class RootClass
{
public InnerClass inner;
}
public class MyBehaviour : MonoBehaviour
{
public RootClass root;
}
[UnityEditor.CustomEditor(typeof(MyBehaviour))]
public class MyEditor : UnityEditor.Editor
{
private void OnEnable()
{
var serializedObject = new SerializedObject(target);
var rootProperty = serializedObject.FindProperty("root");
var innerProperty = rootProperty.FindPropertyRelative("inner");
var valueProperty = innerProperty.FindPropertyRelative("value");
var accessor = valueProperty.GetAccessor();
object obj = target;
var valueField = accessor.GetField(ref obj);
// valueField is a FieldInfo referring to InnerClass.value.
// obj now holds the ((MyBehaviour)target).root.inner.
}
}
Remarks
If this accessor has a
Animancer.Editor.PropertyAccessor.Parent
, the `obj` must be associated with the root
UnityEditor.SerializedProperty
and this method will change it to reference the parent field's value.
Parameters
Name | Type | Description |
---|---|---|
obj | Object |
Return Value
Type | Description |
---|---|
FieldInfo |