UE3:UIDataProvider (UDK)
- Package:
- Engine
- Direct subclasses:
- UIConfigProvider, UIDataProvider_OnlinePlayerDataBase, UIDataProvider_OnlinePlayerStorageArray, UIDataProvider_SettingsArray, UIDataStore, UIDynamicFieldProvider, UIPropertyDataProvider, UIResourceCombinationProvider, UTUIDataProvider_Character, UTUIDataProvider_CharacterFaction, UTUIDataProvider_SimpleElementProvider
- This class in other games:
This is an auto-generated page and may need human attention. Please remove the {{autogenerated}} tag if the page seems reasonably complete or replace it with the {{expand}} tag if the page is not yet complete. |
Base class for all classes which provide data stores with data about specific instances of a particular data type.
Properties
ProviderChangedNotifies
Type: array<delegate<OnDataProviderPropertyChange> >
Modifiers: protected, transient
The list of delegates to call when data exposed by this provider has been updated.
Todo: change into a map of property name => delegate, so that when a property name is passed to NotifyPropertyChanged, only those delegates are called.
WriteAccessType
Type: EProviderAccessType
Determines whether/how subscribers to this data store are allowed to publish changes to property values.
Enums
EProviderAccessType
Types of write access that data providers can specify.
- ACCESS_ReadOnly
- no fields are writeable - readonly
- ACCESS_PerField
- write-access is controlled per field
- ACCESS_WriteAll
- all fields are writeable
Structs
UIDataProviderField
Modifiers: native, transient
Contains data about a single data field exposed by this data provider.
- name FieldTag
- the tag used to access this field
- UIRoot.EUIDataProviderFieldType FieldType
- the type of field this tag corresponds to
- array<UIDataProvider> FieldProviders
- The list of providers associated with this field. Only relevant if FieldType is DATATYPE_Provider or
DATATYPE_ProviderCollection. If FieldType is DATATYPE_Provider, the list should contain only one element.
Delegates
OnDataProviderPropertyChange
Delegate that notifies that a property has changed Intended only for use between data providers and their owning data stores. For external notifications, use the callbacks in UIDataStore instead.
Parameters:
- SourceProvider - the data provider that generated the notification
- PropTag - the property that changed
Functions
Native functions
GetProviderFieldType
Retrieves the field type for the specified field
Parameters:
- DataTag - the tag corresponding to the data field that we want the field type for
- out_ProviderFieldType - will receive the fieldtype for the data field specified; if DataTag isn't supported by this provider, this value will not be modified.
Returns:
- TRUE if the field specified is supported and out_ProviderFieldType was changed to the correct type.
ParseArrayDelimiter
Parses the string specified, separating the array index portion from the data field tag.
Parameters:
- DataTag - the data tag that possibly contains an array index
Returns:
- the array index that was parsed from DataTag, or INDEX_NONE if there was no array index in the string specified.
Events
AllowPublishingToField
Callback for allowing script-only children to specify whether modification of a particular field is allowed. This callback will only be called if the provider's WriteAccessType is ACCESS_PerField.
Child classes should override this function to indicate which fields can be written to, if this provider's WriteAccessType is set to ACCESS_PerField. Otherwise, write access will not be allowed to any fields.
Parameters:
- FieldName - the name of the field [within this provider] for the field to check
- ArrayIndex - optional array index for use with data collections.
Returns:
- TRUE if publishing data (change the value for) the field is allowed.
GenerateFillerData
Callback to allow script-only child classes to return filler data for their own data fields.
Parameters:
- DataTag - the tag corresponding to the data field that we want filler data for
Returns:
- a string of made-up data which is indicative of the typical values for the specified field.
GenerateScriptMarkupString
Callback to allow script-only child classes to generate a markup string for their own data fields. Called from the native implementation of GenerateDataMarkupString if the tag specified doesn't correspond to any tags in the data store.
Parameters:
- DataTag - the data field tag to generate the markup string for
Returns:
- a datastore markup string which resolves to the datastore field associated with DataTag, in the format: <DataStoreTag:DataFieldTag>
GetFieldValue
Resolves the value of the data field specified and stores it in the output parameter.
Parameters:
- FieldName - the data field to resolve the value for; guaranteed to correspond to a property that this provider can resolve the value for (i.e. not a tag corresponding to an internal provider, etc.)
- out_FieldValue - receives the resolved value for the property specified.
- ArrayIndex - optional array index for use with data collections
Returns:
- TRUE to indicate that this value was processed by script.
See: ParseDataStoreReference for additional notes
GetSupportedScriptFields
Callback to allow script-only child classes to add their own supported tags when GetSupportedDataFields is called.
Parameters:
- out_Fields - the list of data tags supported by this data store.
IsCollectionDataType
Wrapper for determining whether the specified field type represents a collection of data.
IsProviderDisabled
Allows a data provider instance to indicate that it should be unselectable in lists
Returns:
- FALSE to indicate that list elements which represent this data provider should be considered unselectable or otherwise disabled (though it will still appear in the list).
NotifyPropertyChanged
Iterates over the list of subscribed delegates and fires off the event. Called whenever the value of a field managed by this data provider is modified.
Parameters:
- PropTag - the name of the property that changed
SetFieldValue
Resolves the value of the data field specified and stores the value specified to the appropriate location for that field. Only called if WriteAccessType is ACCESS_WriteAll or AllowsPublishingToField returns TRUE.
Parameters:
- FieldName - the data field to resolve the value for; guaranteed to correspond to a property that this provider can resolve the value for (i.e. not a tag corresponding to an internal provider, etc.)
- FieldValue - the value to store for the property specified.
- ArrayIndex - optional array index for use with data collections
Returns:
- TRUE to indicate that this value was processed by script.
Other instance functions
AddPropertyNotificationChangeRequest
Subscribes a function for receiving notifications that a property in this data provider has changed. Intended only for use between data providers and their owning data stores. For external notifications, use the callbacks in UIDataStore instead.
Parameters:
- InDelegate - the delegate to add to the notification list
ParseTagArrayDelimiter
Wrapper for ParseArrayDelimiter that takes a name parameter.
RemovePropertyNotificationChangeRequest
Removes the delegate from the notification list
Parameters:
- InDelegate - the delegate to remove from the list