VariantSelectorMetadata
Makes a key variant-driven by attaching the selector that chooses its current variant.
Read time 1 minuteLast updated 6 days ago
Definition
- Type: Class
- Namespace: Unity.Localization
- Assembly: UnityEngine.LocalizationRuntimeModule
- Implements: IMetadata
public class VariantSelectorMetadata : IMetadata
Remarks
Attach it to a shared key's metadata for a per-key IVariantSelector, or to the SharedTableData for a default that every key in the collection inherits. The selector lives on the shared data, not the per-locale entry, so it stays the same across locales. Variant values themselves are stored per locale; add them with ResourceTable.AddStringVariant, which registers the variant keys here.
Additional Resources: IVariantSelector, SharedTableData
Attach a selector and add a variant value from script.
Examples
namespace Unity.Localization.Samples{ public static class AddVariantByScriptExample { public static void MakeWishlistVaryByStorefront(ResourceTable table) { // The default value, used wherever no variant matches. table.AddStringEntry("wishlist", "Add to wishlist"); // The selector lives on the shared key, so every locale resolves the same way. var key = table.SharedData.GetEntry("wishlist"); if (key.Metadata.GetMetadata<VariantSelectorMetadata>() == null) key.Metadata.AddMetadata(new VariantSelectorMetadata(new StorefrontVariantSelector())); // The value this locale shows when the selector reports "GOG". table.AddStringVariant("wishlist", "GOG", "Add to GOG wishlist"); } public static void RemoveTheVariant(ResourceTable table) { table.RemoveVariant("wishlist", "GOG"); } }}
Constructors
Constructor | Description |
|---|---|
| VariantSelectorMetadata() | Creates empty variant metadata. |
| VariantSelectorMetadata(Unity.Localization.IVariantSelector) | Creates variant metadata for a selector. |
Properties
Property | Description |
|---|---|
| Keys | The variant keys authored for this scope, used by the editor to lay out variant rows. |
| Selector | The selector that chooses the current variant key. |