class MAGES::Editor::Utilities::SerializedObjectExtensions¶
Overview¶
Extensions for SerializedObject class. More…
class SerializedObjectExtensions
{
public:
// classes
class PropertyFieldCallbackListener;
// methods
static SerializedProperty FindFieldProperty(
this SerializedObject serializedObject,
string fieldName
);
static void CopyPropertyValue(
SerializedProperty source,
SerializedProperty destination
);
static string[] PropertyPathParts(this SerializedProperty property);
static string FixedPropertyPath(this SerializedProperty property);
static FieldInfo GetFieldUnambiguous(
this Type type,
string name,
BindingFlags flags
);
static bool IsPropertyIndexer(
string propertyPart,
out string fieldName,
out int index
);
static object GetUnderlyingValue(this SerializedProperty property);
static void SetUnderlyingValue(this SerializedProperty property, object value);
static object DeepCopy(object other);
};
Detailed Documentation¶
Extensions for SerializedObject class.
Methods¶
static SerializedProperty FindFieldProperty(
this SerializedObject serializedObject,
string fieldName
)
Finds a serialized property field.
In order to find the property it must be serialized with [field: SerializeField] attribute.
Parameters:
serializedObject |
The SerializedObject to search on. |
fieldName |
The field name. |
Returns:
The serialized property found.
static void CopyPropertyValue(
SerializedProperty source,
SerializedProperty destination
)
Copies the value of a serialized property to another serialized property.
Parameters:
source |
The property to copy from. |
destination |
The property to copy to. |
static string[] PropertyPathParts(this SerializedProperty property)
Splits a property path into its parts.
Parameters:
property |
The property. |
Returns:
Array of paths.
static string FixedPropertyPath(this SerializedProperty property)
Fixes the property path for an array to remove the “Array.data” part.
Parameters:
property |
The property. |
Returns:
The fixed property.
static FieldInfo GetFieldUnambiguous(
this Type type,
string name,
BindingFlags flags
)
Gets a field from a type, ignoring the base types.
Parameters:
type |
The type. |
name |
The name. |
flags |
Fields to look for. |
Returns:
The field info.
static bool IsPropertyIndexer(
string propertyPart,
out string fieldName,
out int index
)
Tests if a property part is an indexer (i.e. array).
Parameters:
propertyPart |
The property part. |
fieldName |
The name of the field. |
index |
The index into the path, if it is an indexer. |
Returns:
True if it is an indexer.
static object GetUnderlyingValue(this SerializedProperty property)
Gets the underlying value of a serialized property.
Parameters:
property |
The property. |
NullReferenceException |
Thrown in the property path is invalid. |
Returns:
The object value.
static void SetUnderlyingValue(this SerializedProperty property, object value)
Sets the underlying value of a serialized property.
Parameters:
property |
The property. |
value |
The new value. |
NullReferenceException |
Thrown if property path is invalid. |
static object DeepCopy(object other)
Returns a copy of an object that has a System.Serializable attribute.
Parameters:
other |
The object to copy. |
Returns:
The copy of the object.