Gah - a solution with more questions. – EntropicLqd

UE3:SceneDataStore (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UDK Object >> UIRoot >> UIDataProvider >> UIDataStore >> SceneDataStore
Package: 
Engine
Implemented interfaces
UIListElementCellProvider, UIListElementProvider
This class in other games:
UT3

This data store class is used for providing access to data that should only have the lifetime of the current scene. Each scene has its own SceneDataStore, which is capable of containing an arbitrary number of data elements, configurable by the designer using the UI editor.

Properties[edit]

OwnerScene[edit]

Type: UIScene

Modifiers: const, transient


SceneDataProvider[edit]

Type: UIDynamicFieldProvider

Modifiers: protected

The data provider that contains the data fields supported by this scene data store

Default values[edit]

Property Value
Tag 'SCENE_DATASTORE_TAG'

Functions[edit]

Events[edit]

Registered[edit]

event Registered (LocalPlayer PlayerOwner)

Overrides: UIDataStore.Registered

Called when this data store is added to the data store manager's list of active data stores.

Parameters:

  • PlayerOwner - the player that will be associated with this DataStore. Only relevant if this data store is associated with a particular player; NULL if this is a global data store.

Other instance functions[edit]

AddField[edit]

final 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]

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]

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]

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

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]

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

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]

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

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]

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.

InsertCollectionValue[edit]

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]

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]

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]

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]

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]

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.

SceneDataFieldChanged[edit]

function SceneDataFieldChanged (UIDataProvider SourceProvider, optional name PropTag)

Handler for SceneDataProvider's OnDataProviderPropertyChange delegate. Routes the notification to the datastore's RefreshSubscriberNotifies array.

Parameters:

  • SourceProvider - the data provider that generated the notification
  • PropTag - the property that changed

SetCollectionValueArray[edit]

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