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.
Inherited Members
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
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 |
|
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 |
|
Implements
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 |