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.
It has a slider with which the user can select how large (vertically) the list should be when drawn. A scrollable area of this vertical-size is used to display the elements of the list. This class is a variant of the LimitedListDrawer abstract base class. This variant implements the base class using ExposedMembers. A binary file is created, whose filename includes the scene name, that is used to store the current scroll state of this control when the scene is opened or closed. This feature may be disabled in ProjectSettings, via EditorTools Option ClearObjectCacheOnEditorQuit.
|
override string | ArrayName (ExposedMember listProperty) |
| Used to compute the label that will be Displayed for the list
|
|
override int | ArraySize (ExposedMember listProperty) |
| Extracts and returns the size of the array provided
|
|
override void | DrawElementProperty (Rect r, ExposedMember property, int index) |
| Actually drawing code for an element of the list. The property parameter will provide the data to be drawn.
|
|
override UniqueStringID | GenerateListScrollPositionAndDrawSizeKey (ExposedMember property, string label) |
| Creates a new UniqueStringID from the provided property, and optionally, the provided label. Passing the same property to this function, should always yield an equivalent UniqueStringID, even across editor-sessions. UniqueStringID's can be quickly compared with other UniqueStringIDs for equality. Generating the UniqueID can be costly, so it is performed as rarely as possible (once inside the GetScrollPositionAndDrawSizeOfList function).
|
|
override ExposedMember | GetArrayElementAtIndex (ExposedMember listProperty, int index) |
| Used to get the array elements from the list. Which element is returned is defined by the integer parameter, index. Invalid indexes should throw an Exception.
|
|
override bool | GetPropertyExpanded (ExposedMember listProperty) |
| Used to lookup the last user-selected expanded state of the specified property.
|
|
override float | GetPropertyHeight (ExposedMember property) |
| Computes and returns the height of the specified property.
|
|
override void | InternalDrawLimitedListProperty (Rect position, ExposedMember property, GUIContent label=null) |
| Implements the abstract function defined in LimitedListDrawer. function will invoke the base class version, after checking the property is a valid array. If not a valid array, the regular PropertyField will be used to draw.
|
|
override float | InternalGetLimitedListPropertyHeight (ExposedMember property, GUIContent label) |
| Drawn height of limited list. The height of the control is based upon the expanded size of the first element in the collection
|
|
override bool | LoadAndGetPropertyExpanded (ExposedMember listProperty) |
| Refreshes any stored expanded state from storage, then assigns the expanded state to the property and returns it
|
|
override void | SetAndStorePropertyExpanded (ExposedMember listProperty, bool expanded) |
| Used to set the expanded state of the specified property, and record it in storage.
|
|
override void | SetArraySize (ExposedMember listProperty, int newarraySize) |
| Adjusts the size of the array referenced in the provided property, to the specified size.
|
|
override void | SetPropertyExpanded (ExposedMember listProperty, bool expanded) |
| Used to set the expanded state of the specified property.
|
|
abstract string | ArrayName (T listProperty) |
| Used to compute the label that will be Displayed for the list
|
|
abstract int | ArraySize (T listProperty) |
| Extracts and returns the size of the array provided
|
|
abstract void | DrawElementProperty (Rect r, T property, int index) |
| Actual drawing code for an element of the list. The property parameter will provide the data to be drawn.
|
|
abstract UniqueStringID | GenerateListScrollPositionAndDrawSizeKey (T property, string label) |
| Creates a new UniqueStringID from the provided property, and optionally, the provided label. Passing the same property to this function, should always yield an equivalent UniqueStringID, even across editor-sessions. UniqueStringID's can be quickly compared with other UniqueStringIDs for equality. Generating the UniqueID can be costly, so it is performed as rarely as possible (once inside the GetScrollPositionAndDrawSizeOfList function).
|
|
abstract T | GetArrayElementAtIndex (T listProperty, int index) |
| Used to get the array elements from the list. Which element is returned is defined by the integer parameter, index. Invalid indexes should throw an Exception.
|
|
abstract bool | GetPropertyExpanded (T property) |
| Used to lookup the last user-selected expanded state of the specified property.
|
|
abstract float | GetPropertyHeight (T property) |
| Computes and returns the height of the specified property.
|
|
virtual void | InternalDrawLimitedListProperty (Rect position, T property, GUIContent _label=null) |
| non auto-layout version of this control. Will draw the list in the location and area specified by the position parameter.
|
|
virtual float | InternalGetLimitedListPropertyHeight (T property, GUIContent label) |
| Drawn height of limited list. The height of the control is computed once and cashed. It is recomputed as necessary.
|
|
abstract bool | LoadAndGetPropertyExpanded (T property) |
| Refreshes any stored expanded state from storage, then assigns the expanded state to the property and returns it
|
|
abstract void | SetAndStorePropertyExpanded (T property, bool expanded) |
| Used to set the expanded state of the specified property, and record it in storage.
|
|
abstract void | SetArraySize (T listProperty, int newSize) |
| Adjusts the size of the array referenced in the provided property, to the specified size.
|
|
abstract void | SetPropertyExpanded (T property, bool expanded) |
| Used to set the expanded state of the specified property.
|
|