Language
Edit

DataConsumerThemeHelper Class

Definition

A theme data consumer used to help another primary data consumer derived from DataConsumerThemableBase<T> that is designed to manage both dynamically bound data received from a data-centric DataSource, and then theme that dynamic data.

[UnityEngine.AddComponentMenu("MRTK/Data Binding/Consumers/Data Consumer Theme Helper")]
public class DataConsumerThemeHelper : MixedReality.Toolkit.Data.DataConsumerGOBase
[<UnityEngine.AddComponentMenu("MRTK/Data Binding/Consumers/Data Consumer Theme Helper")>]
type DataConsumerThemeHelper = class
    inherit DataConsumerGOBase
Public Class DataConsumerThemeHelper
Inherits DataConsumerGOBase
Inheritance
UnityEngine.MonoBehaviour
DataConsumerThemeHelper
Attributes
UnityEngine.AddComponentMenuAttribute

Remarks

As an example, a numeric status can be used to look up an appropriate status icon for the current status. That icon can then be further themed to adopt the desired, branding or other specific look and feel appropriate for the currently active theme.

Constructors

Name Description
DataConsumerThemeHelper()

Fields

Name Description
_attached (Inherited from DataConsumerGOBase)
_componentsToManage (Inherited from DataConsumerGOBase)
_dataController (Inherited from DataConsumerGOBase)
_dataSourcesByType (Inherited from DataConsumerGOBase)
_externalAttached (Inherited from DataConsumerGOBase)
_isQuitting (Inherited from DataConsumerGOBase)
_resolvedToLocalKeyPathLookup (Inherited from DataConsumerGOBase)
ignoreKeyPathPrefix

For items in collections, it can be useful to ignore the prefix prepended to local key paths, such as when it is used to look up theme data in a separate IDataSource.

(Inherited from DataConsumerGOBase)
themeDataSource
themeKeyPath

Properties

Name Description
AutoAttachAndDetach

If true, will ensure that the attachment happens only once, and will not be detached. This is useful to optimize items that will never be recycled. This optimization is disabled automatically for collections.

(Inherited from DataConsumerGOBase)
DataConsumerThemable
DataController (Inherited from DataConsumerGOBase)
DataSources

Note that runtime changes to this will not be reflected in the serialized data for this component.

(Inherited from DataConsumerGOBase)
DataSourceTypes

Data source types used to identify an appropriate data source for automatic attachment. If no type is provided, the first data source found in parents will be used.

(Inherited from DataConsumerGOBase)
IsFixedHierarchyWillUseCachedValues

If true, indicates the hierarchy and managed components in this object will not change. This will use the cached types and component references to scan for after they are attained a first time. This avoids an extensive amount of UnityEngine.GameObject.GetComponent``1 in each Attach(Dictionary<String,IDataSource>, IDataController, String), which is super expensive especially for DataConsumerText.

(Inherited from DataConsumerGOBase)
ResolvedKeyPathPrefix (Inherited from DataConsumerGOBase)
ThemeKeyPath

Methods

Name Description
AddKeyPathListener(String, IDataSource)

Add a key path to the data source so that this object will be notified when it has changed.

(Inherited from DataConsumerGOBase)
AddKeyPaths(HashSet<Component>)

Once components have been identified, add keypaths for them.

(Inherited from DataConsumerGOBase)
AddVariableKeyPathsForAllComponents(ISet<Component>) (Inherited from DataConsumerGOBase)
AddVariableKeyPathsForComponent(Component)

Add variable key paths for a component.

(Inherited from DataConsumerGOBase)
Attach(Dictionary<String,IDataSource>, IDataController, String)

Prepare this data consumer for use and attach to the provided external resources.

(Inherited from DataConsumerGOBase)
AttachAllResources(Dictionary<String,IDataSource>, IDataController, String) (Inherited from DataConsumerGOBase)
AttachDataConsumer()

Perform any attach logic here that is specific to this data consumer.

AttachDataSources(Dictionary<String,IDataSource>) (Inherited from DataConsumerGOBase)
CheckAndUpdateAttach(Dictionary<String,IDataSource>, IDataController, String) (Inherited from DataConsumerGOBase)
ComponentMeetsAllQualifications(Component) (Inherited from DataConsumerGOBase)
DataChangeSetBegin(IDataSource)

Mark beginning of a related set of data changes.

(Inherited from DataConsumerGOBase)
DataChangeSetEnd(IDataSource)

Mark beginning of a related set of data changes.

(Inherited from DataConsumerGOBase)
Detach()

Detach this data consumer and prepare to return to object pool.

(Inherited from DataConsumerGOBase)
DetachDataConsumer()

Perform any detach logic here that is specific to this data consumer.

(Inherited from DataConsumerGOBase)
FindComponentsOnGameObject(GameObject, Type) (Inherited from DataConsumerGOBase)
FindComponentsToManage()

Populate the caches of components that are being managed by this DataConsumer, based on the GetComponentTypes() provided. Separation of this method from the FindVariablesToManage() allows for calling this in Awake before the data sources may be present/ready if desired.

(Inherited from DataConsumerGOBase)
FindDataSources(String[], Dictionary<String,IDataSource>)

If no data source is provided directly, search through this object and its parents in game object hierarchy for the data source to use with this data consumer.

(Inherited from DataConsumerGOBase)
FindDataSourcesInParents(String[], Dictionary<String,IDataSource>)

Search through this object and its parents in game object hierarchy for the data source to use with this data consumer.

(Inherited from DataConsumerGOBase)
FindDataSourcesInSingleton(String[], Dictionary<String,IDataSource>)

Search through this object and its parents in game object hierarchy for the data source to use with this data consumer.

(Inherited from DataConsumerGOBase)
FindNearestDataController(IDataController)

If no data source is provided directly, search through this object and its parents in game object hierarchy for the data source to use with this data consumer.

(Inherited from DataConsumerGOBase)
FindUnmanagedComponentsInChildren(GameObject, Type) (Inherited from DataConsumerGOBase)
GetBestDataSource(String) (Inherited from DataConsumerGOBase)
GetBestDataSourceForKeyPath(String, String, String) (Inherited from DataConsumerGOBase)
GetComponentTypes()

Get the component types.

(Inherited from DataConsumerGOBase)
GetThemeDataSource()

Get the data source that is used for theming data

HasComponentsToManage()

At least one component was found that this data consumer will manage.

InitializeDataConsumer()

Perform any one time initialization here that is specific to this data consumer.

IsAttached()

Tell whether attached to a DataSource.

(Inherited from DataConsumerGOBase)
IsSameDataController(IDataController) (Inherited from DataConsumerGOBase)
IsSameDataSources(Dictionary<String,IDataSource>) (Inherited from DataConsumerGOBase)
IsSameKeyPathPrefix(String) (Inherited from DataConsumerGOBase)
ManageChildren()

Report whether this data consumer should manage components on child game objects

(Inherited from DataConsumerGOBase)
NotifyDataChanged(IDataSource, String, Object, DataChangeType)

Notification of a data change.

(Inherited from DataConsumerGOBase)
NotifyThisConsumerKeypathsAdded() (Inherited from DataConsumerGOBase)
OnDisable()

A Unity event function that is called when the script component has been disabled.

(Inherited from DataConsumerGOBase)
OnEnable()

A Unity event function that is called when the script component has been enabled.

(Inherited from DataConsumerGOBase)
ProcessDataChanged(IDataSource, String, String, Object, DataChangeType)

Receive changed object, determine its, type and process appropriately

SelfAttach()

Self attach is used when this Component is not being attached by another DataConsumer as would happen when DataConsumerCollection is instantiating prefabs and adding them to its collection.

(Inherited from DataConsumerGOBase)
ShouldIncludeInactiveComponentsInChildren()

Get whether or not to inactive child components should be included.

(Inherited from DataConsumerGOBase)

Applies to