docs.unity3d.com
    Show / Hide Table of Contents

    Class Configuration

    A configuration is an arrangement of product variants that can be saved to be easily recalled at a later time. There are different use cases for configurations: most products will have an initial default configuration (e.g. car with all basic features and white carpaint), hero shots (particularly appealing arrangement of variants used for marketing purposes) and user-defined configurations. Configurations are used to cluster product variants and enable quickly switching between them without setting every single variant once again.

    Inheritance
    Object
    Object
    Component
    Behaviour
    MonoBehaviour
    Configuration
    Inherited Members
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(String, Single)
    MonoBehaviour.InvokeRepeating(String, Single, Single)
    MonoBehaviour.CancelInvoke(String)
    MonoBehaviour.IsInvoking(String)
    MonoBehaviour.StartCoroutine(String)
    MonoBehaviour.StartCoroutine(String, Object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(String)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(Object)
    MonoBehaviour.useGUILayout
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, Component)
    Component.TryGetComponent<T>(T)
    Component.GetComponent(String)
    Component.GetComponentInChildren(Type, Boolean)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(Boolean)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, Boolean)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(Boolean)
    Component.GetComponentsInChildren<T>(Boolean, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, Boolean)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(Boolean)
    Component.GetComponentsInParent<T>(Boolean, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.CompareTag(String)
    Component.SendMessageUpwards(String, Object, SendMessageOptions)
    Component.SendMessageUpwards(String, Object)
    Component.SendMessageUpwards(String)
    Component.SendMessageUpwards(String, SendMessageOptions)
    Component.SendMessage(String, Object)
    Component.SendMessage(String)
    Component.SendMessage(String, Object, SendMessageOptions)
    Component.SendMessage(String, SendMessageOptions)
    Component.BroadcastMessage(String, Object, SendMessageOptions)
    Component.BroadcastMessage(String, Object)
    Component.BroadcastMessage(String)
    Component.BroadcastMessage(String, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Component.rigidbody
    Component.rigidbody2D
    Component.camera
    Component.light
    Component.animation
    Component.constantForce
    Component.renderer
    Component.audio
    Component.networkView
    Component.collider
    Component.collider2D
    Component.hingeJoint
    Component.particleSystem
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(Object)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, Boolean)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, Boolean)
    Object.Destroy(Object, Single)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, Boolean)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, Boolean)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, Single)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    UnityEngine.Object.FindObjectsOfType<T>(System.Boolean)
    Object.FindObjectOfType<T>()
    UnityEngine.Object.FindObjectOfType<T>(System.Boolean)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindObjectOfType(Type, Boolean)
    Object.ToString()
    Object.name
    Object.hideFlags
    Namespace: UnityEngine.Industrial.Configuring.Core
    Syntax
    [ExecuteInEditMode]
    public class Configuration : MonoBehaviour, IReadOnlyConfiguration

    Fields

    label

    The label

    Declaration
    [SerializeField]
    public string label
    Field Value
    Type Description
    String

    Properties

    featureSelections

    List of features in this configuration.

    Declaration
    public IReadOnlyDictionary<FeatureSet, Feature> featureSelections { get; }
    Property Value
    Type Description
    IReadOnlyDictionary<FeatureSet, Feature>

    The feature selections.

    Implements
    IReadOnlyConfiguration.featureSelections

    Methods

    ChangeFeatures(ReadOnlyCollection<Feature>, ReadOnlyCollection<Feature>)

    Selects and deselecs the passed features.

    Declaration
    public void ChangeFeatures(ReadOnlyCollection<Feature> selectedFeatures, ReadOnlyCollection<Feature> deselectedFeatures)
    Parameters
    Type Name Description
    ReadOnlyCollection<Feature> selectedFeatures

    The selected features.

    ReadOnlyCollection<Feature> deselectedFeatures

    The deselected features.

    Remarks

    If parameter is

    null
    , the according change is not made.

    ClearAllFeatures()

    Clear all features from the configuration. Improve performance when unloading products.

    Declaration
    public void ClearAllFeatures()

    DeselectAllFeatures()

    Removes all features from the configuration.

    Declaration
    public void DeselectAllFeatures()

    DeselectFeatures(Feature[])

    Deselect features in the configuration.

    Declaration
    public void DeselectFeatures(params Feature[] features)
    Parameters
    Type Name Description
    Feature[] features

    The features.

    Remarks

    The features must not be

    null
    , must all belong to different feature sets and must be part of the configuration.

    GetDifference(Configuration)

    Gets the difference.

    Declaration
    public ConfigurationDifference GetDifference(Configuration configuration)
    Parameters
    Type Name Description
    Configuration configuration

    The configuration.

    Returns
    Type Description
    ConfigurationDifference

    ConfigurationDifference.

    HandleFeatureSetChange(VariantTable, FeatureSetChangedArgs)

    Handles the feature set change.

    Declaration
    public void HandleFeatureSetChange(VariantTable variantTable, FeatureSetChangedArgs change)
    Parameters
    Type Name Description
    VariantTable variantTable

    The variant table.

    FeatureSetChangedArgs change

    The change.

    HandleVariantTableChange(VariantTable, VariantTableChangedArgs)

    Handles the variant table change.

    Declaration
    public void HandleVariantTableChange(VariantTable variantTable, VariantTableChangedArgs change)
    Parameters
    Type Name Description
    VariantTable variantTable

    The variant table.

    VariantTableChangedArgs change

    The change.

    IsEqualToConfiguration(Configuration)

    Test if the configurations are the same.

    Declaration
    public bool IsEqualToConfiguration(Configuration other)
    Parameters
    Type Name Description
    Configuration other

    The other.

    Returns
    Type Description
    Boolean

    true if [is equal to configuration] [the specified other]; otherwise, false.

    Exceptions
    Type Condition
    ArgumentNullException

    Configuration to compare must not be null.

    IsFeatureSelected(Feature)

    Returns if the given feature is selected in this configuration.

    Declaration
    public bool IsFeatureSelected(Feature feature)
    Parameters
    Type Name Description
    Feature feature

    The feature.

    Returns
    Type Description
    Boolean

    true if [is feature selected] [the specified feature]; otherwise, false.

    Implements
    IReadOnlyConfiguration.IsFeatureSelected(Feature)
    Exceptions
    Type Condition
    ArgumentNullException

    The feature must not be null.

    SelectFeatures(IEnumerable<Feature>)

    Adds features to the configuration.

    Declaration
    public void SelectFeatures(IEnumerable<Feature> features)
    Parameters
    Type Name Description
    IEnumerable<Feature> features

    The features.

    Remarks

    The features must not be

    null
    or contain two features of the same feature set.

    SelectFeatures(Feature[])

    Adds a feature to the configuration.

    Declaration
    public void SelectFeatures(params Feature[] features)
    Parameters
    Type Name Description
    Feature[] features

    The features.

    Remarks

    The features must not be

    null
    or contain two features of the same feature set.

    Events

    configurationChanged

    Occurs when [configuration changed].

    Declaration
    public event ConfigurationChangedHandler configurationChanged
    Event Type
    Type Description
    ConfigurationChangedHandler
    Implements
    IReadOnlyConfiguration.configurationChanged

    Extension Methods

    Async.StartThrowingCoroutine(MonoBehaviour, IEnumerator, Action<Exception>)
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023