I love the smell of UnrealEd crashing in the morning. – tarquin

UE3:UIDynamicFieldProvider (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UDK Object >> UIRoot >> UIDataProvider >> UIDynamicFieldProvider
Package: 
Engine
This class in other games:
UT3

This data provider class allows adding and removing data fields at runtime.

Properties[edit]

Property group 'UIDynamicFieldProvider'[edit]

PersistentDataFields[edit]

Type: array<UIRoot.UIProviderScriptFieldValue>

Modifiers: protected, config

The list of data fields and values which were added to this data provider in the UI editor. These fields are copied into the RuntimeDataFields array when the provider is initialized.

RuntimeDataFields[edit]

Type: array<UIRoot.UIProviderScriptFieldValue>

Modifiers: protected, transient

The list of data fields currently supported by this data provider. When fields are added and removed during the game, those operations always occur using this array. Is never modified in the editor.

Internal variables[edit]

PersistentCollectionData[edit]

Type: Object.Map_Mirror{TMap< FName, TMap<FName,TArray<FString> > >}

Modifiers: protected, native, const

Contains the source data for all DATATYPE_Collection data fields which have their values stored in the PersistentDataFields array.

RuntimeCollectionData[edit]

Type: Object.Map_Mirror{TMap< FName, TMap<FName,TArray<FString> > >}

Modifiers: protected, native, const, transient

Contains the source data for all DATATYPE_Collection data fields which have their values stored in the PersistentDataFields array.

Default values[edit]

Property Value
WriteAccessType ACCESS_WriteAll

Native functions[edit]

AddField[edit]

native virtual final noexport function bool AddField (name FieldName, UIRoot.EUIDataProviderFieldType FieldType, optional bool bPersistent, optional out int out_InsertPosition)

Adds a new data field to the list of supported fields.

Parameters:

  • FieldName - the name to give the new field
  • FieldType - the type of data field being added
  • bPersistent - specify TRUE to add the field to the PersistentDataFields array as well.
  • out_InsertPosition - allows the caller to find out where the element was inserted

Returns:

TRUE if the field was successfully added to the list; FALSE if the a field with that name already existed or the specified name was invalid.

ClearCollectionValueArray[edit]

native virtual final function bool ClearCollectionValueArray (name FieldName, optional bool bPersistent, optional name CellTag)

Removes all data values for a single collection data field.

Parameters:

  • FieldName - the name of the data field associated with the data source collection being manipulated.
  • bPersistent - specify TRUE to ensure that the PersistentCollectionData is used, even if it otherwise wouldn't be.
  • CellTag - optional name of a subfield within the list of values for FieldName. if not specified, FieldName is used.

Returns:

TRUE if the data values were successfully cleared or didn't exist in the first place; FALSE if they couldn't be removed.

ClearFields[edit]

native virtual final function bool ClearFields (optional bool bReinitializeRuntimeFields)

Removes all data fields from this data provider.

Parameters:

  • bReinitializeRuntimeFields - specify TRUE to reset the elements of the RuntimeDataFields array to match the elements in the PersistentDataFields array. Ignored in the editor.

Returns:

TRUE indicates that all fields were removed successfully; FALSE otherwise.

FindCollectionValueIndex[edit]

native virtual final function int FindCollectionValueIndex (name FieldName, out const string ValueToFind, optional bool bPersistent, optional name CellTag) const

Finds the index [into the array of values for FieldName] for a specific value.

Parameters:

  • FieldName - the name of the data field associated with the data source collection being manipulated.
  • ValueToFind - the value that should be found.
  • bPersistent - specify TRUE to ensure that the PersistentCollectionData is used, even if it otherwise wouldn't be.
  • CellTag - optional name of a subfield within the list of values for FieldName. if not specified, FieldName is used.

Returns:

the index for the specified value, or INDEX_NONE if it couldn't be found.

FindFieldIndex[edit]

native virtual final function int FindFieldIndex (name FieldName, optional bool bSearchPersistentFields) const

Finds the index into the DataFields array for the data field specified.

Parameters:

  • FieldName - the name of the data field to search for
  • bSearchPersistentFields - if TRUE, searches the PersistentDataFields array for the specified field; otherwise, searches the RuntimeDataFields array
  • the - index into the DataFields array for the data field specified, or INDEX_NONE if it isn't in the array.

GetCollectionValue[edit]

native virtual final function bool GetCollectionValue (name FieldName, int ValueIndex, out string out_Value, optional bool bPersistent, optional name CellTag) const

Retrieves the value of an element in a collection data source array.

Parameters:

  • FieldName - the name of the data field associated with the data source collection being manipulated.
  • ValueIndex - the index [into the array of values for FieldName] of the value that should be retrieved.
  • out_Value - receives the value of the collection data source element
  • bPersistent - specify TRUE to ensure that the PersistentCollectionData is used, even if it otherwise wouldn't be.
  • CellTag - optional name of a subfield within the list of values for FieldName. if not specified, FieldName is used.

Returns:

TRUE if the value was successfully retrieved and copied to out_Value.

GetCollectionValueArray[edit]

native virtual final function bool GetCollectionValueArray (name FieldName, out array<stringout_DataValueArray, optional bool bPersistent, optional name CellTag)

Gets the data value source array for the specified data field.

Parameters:

  • FieldName - the name of the data field the source data should be associated with.
  • out_DataValueArray - receives the array of data values available for FieldName.
  • bPersistent - specify TRUE to ensure that the PersistentCollectionData is used, even if it otherwise wouldn't be.
  • CellTag - optional name of a subfield within the list of values for FieldName. if not specified, FieldName is used.

Returns:

TRUE if the array containing possible values for the FieldName data field was successfully located and copied into the out_DataValueArray variable.

GetCollectionValueSchema[edit]

native virtual final function bool GetCollectionValueSchema (name FieldName, out array<nameout_CellTagArray, optional bool bPersistent)

Gets the list of schema tags set for the data value source array stored for FieldName

Parameters:

  • FieldName - the name of the data field the source data should be associated with.
  • out_CellTagArray - the list of unique tags stored in the source array data for the specified data field name.
  • bPersistent - specify TRUE to ensure that the PersistentCollectionData is used, even if it otherwise wouldn't be.

Returns:

TRUE if the array containing possible values for the FieldName data field was successfully located and copied into the out_CellTagArray variable.

GetField[edit]

native virtual final noexport function bool GetField (name FieldName, out UIRoot.UIProviderScriptFieldValue out_Field)

Gets the value of the data field specified.

Parameters:

  • FieldName - the name of the data field to retrieve the value for
  • out_Field - receives the value of the data field specified

Returns:

TRUE if out_Field was successfully filled in with the value of the specified data field; FALSE if the data field doesn't exist in this data provider.

InitializeRuntimeFields[edit]

native function InitializeRuntimeFields ()

Copies the elements from the PersistentDataFields array into the RuntimeDataFields array. Should only be called once when the provider is initialized.

InsertCollectionValue[edit]

native virtual final function bool InsertCollectionValue (name FieldName, out const string NewValue, optional int InsertIndex, optional bool bPersistent, optional bool bAllowDuplicateValues, optional name CellTag)

Inserts a new string into the list of values for the specified collection data field.

Parameters:

  • FieldName - the name of the data field associated with the data source collection being manipulated.
  • NewValue - the value to insert
  • InsertIndex - the index [into the array of values for FieldName] to insert the new value, or INDEX_NONE to append the value to the end of the list.
  • bPersistent - specify TRUE to ensure that the PersistentCollectionData is used, even if it otherwise wouldn't be.
  • bAllowDuplicateValues - controls whether multiple elements containing the same value should be allowed in the data source collection. If FALSE is specified, and NewValue already exists in the collection source array, method return TRUE but it does not modify the array. If TRUE is specified, NewValue will be added anyway, resulting in multiple copies of NewValue existing in the array.
  • CellTag - optional name of a subfield within the list of values for FieldName. if not specified, FieldName is used.

Returns:

TRUE if the new value was successfully inserted into the collection data source for the specified field.

RemoveCollectionValue[edit]

native virtual final function bool RemoveCollectionValue (name FieldName, out const string ValueToRemove, optional bool bPersistent, optional name CellTag)

Removes a value from the collection data source specified by FieldName.

Parameters:

  • FieldName - the name of the data field associated with the data source collection being manipulated.
  • ValueToRemove - the value that should be removed
  • bPersistent - specify TRUE to ensure that the PersistentCollectionData is used, even if it otherwise wouldn't be.
  • CellTag - optional name of a subfield within the list of values for FieldName. if not specified, FieldName is used.

Returns:

TRUE if the value was successfully removed or didn't exist in the first place.

RemoveCollectionValueByIndex[edit]

native virtual final function bool RemoveCollectionValueByIndex (name FieldName, int ValueIndex, optional bool bPersistent, optional name CellTag)

Removes the value from the collection data source specified by FieldName located at ValueIndex.

Parameters:

  • FieldName - the name of the data field associated with the data source collection being manipulated.
  • ValueIndex - the index [into the array of values for FieldName] of the value that should be removed.
  • bPersistent - specify TRUE to ensure that the PersistentCollectionData is used, even if it otherwise wouldn't be.
  • CellTag - optional name of a subfield within the list of values for FieldName. if not specified, FieldName is used.

Returns:

TRUE if the value was successfully removed; FALSE if ValueIndex wasn't valid or the value couldn't be removed.

RemoveField[edit]

native virtual final function bool RemoveField (name FieldName)

Removes the data field that has the specified tag.

Parameters:

  • FieldName - the name of the data field to remove from this data provider.

Returns:

TRUE if the field was successfully removed from the list of supported fields or the field name wasn't in the list to begin with; FALSE if the name specified was invalid or the field couldn't be removed for some reason

ReplaceCollectionValue[edit]

native virtual final function bool ReplaceCollectionValue (name FieldName, out const string CurrentValue, out const string NewValue, optional bool bPersistent, optional name CellTag)

Replaces the value in a collection data source with a different value.

Parameters:

  • FieldName - the name of the data field associated with the data source collection being manipulated.
  • CurrentValue - the value that will be replaced.
  • NewValue - the value that will replace CurrentValue
  • bPersistent - specify TRUE to ensure that the PersistentCollectionData is used, even if it otherwise wouldn't be.
  • CellTag - optional name of a subfield within the list of values for FieldName. if not specified, FieldName is used.

Returns:

TRUE if the old value was successfully replaced with the new value.

ReplaceCollectionValueByIndex[edit]

native virtual final function bool ReplaceCollectionValueByIndex (name FieldName, int ValueIndex, out const string NewValue, optional bool bPersistent, optional name CellTag)

Replaces the value located at ValueIndex in a collection data source with a different value

Parameters:

  • FieldName - the name of the data field associated with the data source collection being manipulated.
  • ValueIndex - the index [into the array of values for FieldName] of the value that should be replaced.
  • NewValue - the value that should replace the old value.
  • bPersistent - specify TRUE to ensure that the PersistentCollectionData is used, even if it otherwise wouldn't be.
  • CellTag - optional name of a subfield within the list of values for FieldName. if not specified, FieldName is used.

Returns:

TRUE if the value was successfully replaced; FALSE if ValueIndex wasn't valid or the value couldn't be removed.

SavePersistentProviderData[edit]

native virtual final function SavePersistentProviderData ()

Copies the values of all fields which exist in the PersistentDataFields array from the RuntimeDataFields array into the PersistentDataFields array and saves everything to the .ini.

SetCollectionValueArray[edit]

native virtual final function bool SetCollectionValueArray (name FieldName, out const array<stringCollectionValues, optional bool bClearExisting, optional int InsertIndex, optional bool bPersistent, optional name CellTag)

Sets the source data for a collection data field to the values specified. It is not necessary to add the field first (via AddField) in order to set the collection values.

Parameters:

  • FieldName - the name of the data field the source data should be associated with.
  • CollectionValues - the actual values that will be associated with FieldName.
  • bClearExisting - specify TRUE to clear the existing collection data before adding the new values
  • InsertIndex - the position to insert the new values (only relevant if bClearExisting is FALSE)
  • bPersistent - specify TRUE to ensure that the values will be added to PersistentCollectionData, even if they otherwise wouldn't be.
  • CellTag - optional name of a subfield within the list of values for FieldName. if not specified, FieldName is used.

Returns:

TRUE if the collection data was applied successfully; FALSE if there was also already data for this collection data field [and bOverwriteExisting was FALSE] or the data couldn't otherwise

SetField[edit]

native virtual final noexport function bool SetField (name FieldName, const out UIRoot.UIProviderScriptFieldValue FieldValue, optional bool bChangeExistingOnly)

Sets the value for the data field specified.

Parameters:

  • FieldName - the name of the data field to retrieve the value for
  • FieldValue - the value to assign to the specified data field
  • bChangeExistingOnly - controls what happens if there is no data field with the specified name in this data provider's list of fields; TRUE indicates that we should only set the value if the field already exists in the list; FALSE indicates that we should add a new element to the list if there are no existing fields with this name.

Returns:

TRUE if the value was successfully applied to the field specified; FALSE otherwise.