Class InteractableShaderTheme
Theme Engine to control the value of a particular Shader Property based on state changes Targets the first Renderer component on the initialized GameObject and use MaterialPropertyBlocks
Inheritance
Inherited Members
Namespace: Microsoft.MixedReality.Toolkit.UI
Assembly: cs.temp.dll.dll
Syntax
public class InteractableShaderTheme : InteractableThemeBase
Constructors
InteractableShaderTheme()
Declaration
public InteractableShaderTheme()
Fields
DefaultShaderProperty
Declaration
protected const string DefaultShaderProperty = "_Color"
Field Value
| Type | Description |
|---|---|
| String |
propertyBlock
Declaration
protected MaterialPropertyBlock propertyBlock
Field Value
| Type | Description |
|---|---|
| MaterialPropertyBlock |
renderer
Declaration
protected Renderer renderer
Field Value
| Type | Description |
|---|---|
| Renderer |
shaderProperties
Declaration
protected List<ThemeStateProperty> shaderProperties
Field Value
| Type | Description |
|---|---|
| List<ThemeStateProperty> |
Properties
AreShadersSupported
Indicates whether the current Theme engine implementation supports shader targeting on state properties
Declaration
public override bool AreShadersSupported { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
Overrides
Methods
GetColor(GameObject, Int32)
Declaration
public static Color GetColor(GameObject host, int propId)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | host | |
| Int32 | propId |
Returns
| Type | Description |
|---|---|
| Color |
GetDefaultThemeDefinition()
Generates the default theme definition configuration for the current theme implementation
Declaration
public override ThemeDefinition GetDefaultThemeDefinition()
Returns
| Type | Description |
|---|---|
| ThemeDefinition | Default ThemeDefinition to initialize with the current theme engine implementation |
Overrides
GetFloat(GameObject, Int32)
Declaration
public static float GetFloat(GameObject host, int propId)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | host | |
| Int32 | propId |
Returns
| Type | Description |
|---|---|
| Single |
GetProperty(ThemeStateProperty)
Get the current property value for the provided state property
Declaration
public override ThemePropertyValue GetProperty(ThemeStateProperty property)
Parameters
| Type | Name | Description |
|---|---|---|
| ThemeStateProperty | property | state property to access |
Returns
| Type | Description |
|---|---|
| ThemePropertyValue | Value currently for given state property |
Overrides
Init(GameObject, ThemeDefinition)
Initialize current Theme Engine with given configuration and target the provided GameObject
Declaration
public override void Init(GameObject host, ThemeDefinition definition)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | host | GameObject to target changes against |
| ThemeDefinition | definition | Configuration information to initialize Theme Engine |
Overrides
SetValue(ThemeStateProperty, Int32, Single)
Instruct theme to set value for current property with given index state and at given lerp percentage
Declaration
public override void SetValue(ThemeStateProperty property, int index, float percentage)
Parameters
| Type | Name | Description |
|---|---|---|
| ThemeStateProperty | property | property to update value |
| Int32 | index | index of state to access array of values |
| Single | percentage | percentage transition between values |