This module provides attributes that can be applied to serialized and non-serialized members, including functions, properties/accessors and regular fields, for display in the Unity Editor inspector.
The module provides attributes that can be applied to non-serialized members, including functions, accessors and regular fields, for display in the unity Editor inspector.
These attributes have with a variety of options to automatically generate more complex and dynamic inspectors. Alternatively, ExposedMembers can be manually drawn like SerializedProperties in custom Editors and PropertyDrawers These attributes have no effect on runtime player builds, and require the Editor DLL component of this module, EyE.MemberExposer.UnityEditor.dll , to function in the UnitEditor.
This DLL provides all of this modules functionality. It contains functions to process and store ExposedMember attributes applied to user-defined classes. It also contains functions to draw and handle input for ExposedMembers, in a Unity Editor inspector. These function are combined together into classes that the allows the user to easily draw all the exposed properties an object contains. These are the DefaultExposedMemberEditor, DefaultExposeMemberPropertyDrawer, DefaultExposedMemberExpandablePropertyDrawer
RuntimeObjects: Examples of ExposeMember Attribute usage
EditorObjects: Examples of how to use classes with Exposed Members in inspectors.
Modules | |
Examples- MemberExposer | |
EyE.MemberExposer.UnityEditor.dll | |
This module provides attributes that can be applied to serialized and non-serialized members, including functions, properties/accessors and regular fields, for display in the Unity Editor inspector. | |
EyE.MemberExposer.dll | |
This module provides attributes that can be applied to serialized and non-serialized members, including functions, properties/accessors and regular fields, for display in the Unity Editor inspector. | |
Classes | |
class | DefaultExposedMemberEditor |
Default Editor for classes utilizing ExposedMemberAttributes. | |
class | DefaultExposedMemberExpandablePropertyDrawer |
This class implements the ExpandableObjectPropertyDrawer, for use with ExposedMembers. | |
class | DefaultExposedMemberPropertyDrawer |
This class implements a default property drawer, for use with ExposedMember Attributes. | |
class | ExposedCollectionMemberElement |
Derived from the ExposedMember class, this version is intended to be used to represent elements of exposed members that are collections. | |
class | MemberExposerFunctions.ExposeDelegatesForType |
Each instance of this class stores three delegates that are used to draw the property(both, an auto layout and Rect-specified, versions), or get it's hight. The user may choose to create and register one's own instance of this class, specifying custom draw and height functions, for a custom type. | |
class | ExposedMember |
Contains information about an exposed property, such as the name, type, tool-tip, and reflection information. Has methods to get and set the value of the property by invoking the get and set methods of the exposed-accessor, invoking the exposed function, or if an exposed field, accessing it directly. Stores information about the attributes applied, in code, to the exposed member, which specify how, where and when it should be displayed. | |
class | ExposedObjectMembers |
This class extracts upon creation, and then buffers, all the exposedProperties of a given object. This buffer can then be easily accessed via the FindProperty function, and Drawn with the various ExposePropertyFunctions. Or, one can choose to draw all the object's exposed-properties in this buffer at once, using the appropriate ExposeAllProperties function. In total, this class is little more than a convenient wrapper and buffer for the more generic MemberExposerFunctions class. | |
class | ExposeMemberAttribute |
This attribute class has no internal functionality. Rather, it's presence is checked for by the editor-only, EyE.EditorUnity.Tools.ExposedObjectProperties and EyE.EditorUnity.Tools.PropertyExposerFunctions classes which actually implement it. | |
class | ExposeMultiLineAttribute |
This attribute only does anything when applied to strings. It will ensure a multi-line control is used when exposing the string in the editor GUI. | |
class | ExposeRangeAttribAttribute |
This attribute affects exposed properties in the same way that the Unity attribute Range does. However, this attribute may be applied to properties, in addition to fields. | |
class | LimitedListMember |
This class contains static functions for drawing large lists in ExposedMembers. Optimized to draw only the part of the list that is being displayed, it does not slow down the system for large lists. | |
class | MemberExposerFunctions |
This class contains functions that can be used to extract the ExposedMembers of a given object, and functions to draw each, or all of the ExposedMembers found, in a custom editor/property-drawer | |
class | PerExposedMemberBooleans |
Allows each unique Unity.Object to store it's own key/boolean pair. | |
class | PotentialWarningFlag |
This class exists to create a unique type that can be used to identify ExposedMembers with the PotentialWarning flag specified in their ExposeMember attribute. | |