Mostly Harmless

UE3:UIDataStore_DynamicResource (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UDK Object >> UIRoot >> UIDataProvider >> UIDataStore >> UIDataStore_DynamicResource
Package: 
Engine
Implemented interfaces
UIListElementProvider

This data store can be used for cases where both static and dynamic information about a particular game concept must be displayed together. For example, this data store could be used to display a list of levels which have been unlocked by the player. The information about the levels themselves would probably be exposed by a UIResourceDataProvider, but resource data providers cannot provide data about the player's progress since they are static by nature. The player's progress must come from something like a profile data provider that can provide information about which of the levels have been unlocked. This data store brings these two types of information together in order to provide a combination of static and dynamic information about a game resource from a single location.

Copyright 1998-2009 Epic Games, Inc. All Rights Reserved

Properties[edit]

GameResourceDataStore[edit]

Type: UIDataStore_GameResource

Modifiers: transient


ProfileProvider[edit]

Type: UIDataProvider_OnlineProfileSettings

Modifiers: transient

Provides access to the player's profile data

ResourceProviderDefinitions[edit]

Type: array<DynamicResourceProviderDefinition>

Modifiers: config

the list of data providers supported by this data store that correspond to list element data

ResourceProviders[edit]

Type: Object.MultiMap_Mirror{TMultiMap<FName,class UUIResourceCombinationProvider*>}

Modifiers: const, private, native, transient

collection of list element provider instances that are associated with each ElementProviderType

Default values[edit]

Property Value
Tag 'DynamicGameResource'

Structs[edit]

DynamicResourceProviderDefinition[edit]

Modifiers: native

name ProviderTag 
the tag that is used to access this provider, i.e. Players, Teams, etc.; should be the same value as the ProviderTag for the

static resource this provider type is associated with.

string ProviderClassName 
the name of the class associated with this data provider
class<UIResourceCombinationProvider> ProviderClass 
the UIDataProvider class that exposes the data for this data field tag

Functions[edit]

Native functions[edit]

FindProviderIndexByFieldValue[edit]

native final function int FindProviderIndexByFieldValue (name ProviderTag, name SearchField, out const UIRoot.UIProviderScriptFieldValue ValueToSearchFor) const

Searches for resource provider instance that has a field with a value that matches the value specified.

Parameters:

  • ProviderTag - the name of the provider type; should match the ProviderTag value of an element in the ElementProviderTypes array.
  • SearchField - the name of the field within the provider type to compare the value to; should be one of the elements retrieved from a call to GetResourceProviderFields.
  • ValueToSearchFor - the field value to search for.

Returns:

the index of the resource provider instance that has the same value for SearchField as the value specified, or INDEX_NONE if the provider tag couldn't be resolved, none of the provider instances had a field with that name, or none of them had a field of that name with the value specified.

FindProviderTypeIndex[edit]

native final function int FindProviderTypeIndex (name ProviderTag) const

Finds the index for the GameResourceDataProvider with a tag matching ProviderTag.

Returns:

the index into the ElementProviderTypes array for the GameResourceDataProvider element that has the tag specified, or INDEX_NONE if there are no elements of the ElementProviderTypes array that have that tag.

GenerateProviderAccessTag[edit]

native final function name GenerateProviderAccessTag (int ProviderIndex, int InstanceIndex) const

Generates a tag containing the provider type with the name of an instance of that provider as the array delimiter.

Parameters:

  • ProviderIndex - the index into the ElementProviderTypes array for the provider's type
  • InstanceIndex - the index into that type's list of providers for the target instance

Returns:

a name containing the provider type name (i.e. the value of GameResourceDataProvider.ProviderTag) with the instance's name as the array delimiter.

GetProviderCount[edit]

native function int GetProviderCount (name ProviderTag) const

Get the number of UIResourceDataProvider instances associated with the specified tag.

Parameters:

  • ProviderTag - the tag to find instances for; should match the ProviderTag value of an element in the ElementProviderTypes array.

Returns:

the number of instances registered for ProviderTag.

GetProviderFieldValue[edit]

native final function bool GetProviderFieldValue (name ProviderTag, name SearchField, int ProviderIndex, out UIRoot.UIProviderScriptFieldValue out_FieldValue) const

Get the value of a single field in a specific resource provider instance. Example: GetProviderFieldValue('GameTypes', ClassName, 2, FieldValue)

Parameters:

  • ProviderTag - the name of the provider type; should match the ProviderTag value of an element in the ElementProviderTypes array.
  • SearchField - the name of the field within the provider type to get the value for; should be one of the elements retrieved from a call to GetResourceProviderFields.
  • ProviderIndex - the index [into the array of providers associated with the specified tag] of the instance to get the value from; should be one of the elements retrieved by calling GetResourceProviders().
  • out_FieldValue - receives the value of the field

Returns:

TRUE if the field value was successfully retrieved from the provider. FALSE if the provider tag couldn't be resolved, the index was not a valid index for the list of providers, or the search field didn't exist in that provider.

GetResourceProviderFields[edit]

native final function bool GetResourceProviderFields (name ProviderTag, out array<nameProviderFieldTags) const

Get the list of fields supported by the provider type specified.

Parameters:

  • ProviderTag - the name of the provider type to get fields for; should match the ProviderTag value of an element in the ElementProviderTypes array. If the provider type is expanded (bExpandProviders=true), this tag should also contain the array index of the provider instance to use for retrieving the fields (this can usually be automated by calling GenerateProviderAccessTag)
  • ProviderFieldTags - receives the list of tags supported by the provider specified.

Returns:

TRUE if the tag was resolved successfully and the list of tags was retrieved (doesn't guarantee that the provider array will contain any elements, though). FALSE if the data store couldn't resolve the ProviderTag.

GetResourceProviders[edit]

native final function bool GetResourceProviders (name ProviderTag, out array<UIResourceCombinationProviderout_Providers) const

Get the UIResourceDataProvider instances associated with the tag.

Parameters:

  • ProviderTag - the tag to find instances for; should match the ProviderTag value of an element in the ElementProviderTypes array.
  • out_Providers - receives the list of provider instances. this array is always emptied first.

Returns:

the list of UIResourceDataProvider instances registered for ProviderTag.

OnLoginChange[edit]

native final function OnLoginChange (byte LocalUserNum)

Re-initializes all dynamic providers.

Parameters:

  • LocalUserNum - the player that had a login change

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.

Unregistered[edit]

event Unregistered (LocalPlayer PlayerOwner)

Overrides: UIDataStore.Unregistered

Called when this data store is removed from 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.