Class PersistentVariablesSource
Can be used to provide global or local values that do not need to be passed in as arguments when formatting a string. The smart string should take the format {groupName.variableName}. e.g {global.player-score}. Note: The group name and variable names must not contain any spaces.
Namespace: UnityEngine.Localization.SmartFormat.Extensions
Syntax
[Serializable]
public class PersistentVariablesSource : ISource, IDictionary<string, VariablesGroupAsset>, ICollection<KeyValuePair<string, VariablesGroupAsset>>, IEnumerable<KeyValuePair<string, VariablesGroupAsset>>, IEnumerable, ISerializationCallbackReceiver
Constructors
PersistentVariablesSource(SmartFormatter)
Creates a new instance and adds the "." operator to the parser.
Declaration
public PersistentVariablesSource(SmartFormatter formatter)
Parameters
Type | Name | Description |
---|---|---|
SmartFormatter | formatter |
Properties
Count
The number of VariablesGroupAsset that are used for global variables.
Declaration
public int Count { get; }
Property Value
Type | Description |
---|---|
Int32 |
IsReadOnly
Implmented as part of IDictionary but not used. Will always return false.
Declaration
public bool IsReadOnly { get; }
Property Value
Type | Description |
---|---|
Boolean |
IsUpdating
Has BeginUpdating() been called? This can be used when updating the value of multiple IVariable in order to do a single update after the updates instead of 1 per change.
Declaration
public static bool IsUpdating { get; }
Property Value
Type | Description |
---|---|
Boolean |
Item[String]
Returns the global variable group that matches name
.
Declaration
public VariablesGroupAsset this[string name] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
String | name | The name of the group to return. |
Property Value
Type | Description |
---|---|
VariablesGroupAsset |
Keys
Returns the global variable group names.
Declaration
public ICollection<string> Keys { get; }
Property Value
Type | Description |
---|---|
ICollection<String> |
Values
Returns the global variable groups for this source.
Declaration
public ICollection<VariablesGroupAsset> Values { get; }
Property Value
Type | Description |
---|---|
ICollection<VariablesGroupAsset> |
Methods
Add(KeyValuePair<String, VariablesGroupAsset>)
Add a global variable group to the source.
Declaration
public void Add(KeyValuePair<string, VariablesGroupAsset> item)
Parameters
Type | Name | Description |
---|---|---|
KeyValuePair<String, VariablesGroupAsset> | item |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
ArgumentException | Thrown if |
Add(String, VariablesGroupAsset)
Add a global variable group to the source.
Declaration
public void Add(string name, VariablesGroupAsset group)
Parameters
Type | Name | Description |
---|---|---|
String | name | The name of the group to add. |
VariablesGroupAsset | group | The group to add. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
ArgumentException | Thrown if |
BeginUpdating()
Indicates that multiple IVariable will be changed and LocalizedString should wait for EndUpdate before updating. See EndUpdating() and EndUpdate. Note: BeginUpdating() and EndUpdating() can be nested, EndUpdate will only be called after the last EndUpdate.
Declaration
public static void BeginUpdating()
Clear()
Removes all global variables.
Declaration
public void Clear()
Contains(KeyValuePair<String, VariablesGroupAsset>)
Returns true if a global variable group is found with the same name.
Declaration
public bool Contains(KeyValuePair<string, VariablesGroupAsset> item)
Parameters
Type | Name | Description |
---|---|---|
KeyValuePair<String, VariablesGroupAsset> | item |
Returns
Type | Description |
---|---|
Boolean | true if a group with the name is found or false if one is not. |
ContainsKey(String)
Returns true if a global variable group is found with the same name.
Declaration
public bool ContainsKey(string name)
Parameters
Type | Name | Description |
---|---|---|
String | name | The name of the global variable group to check for. |
Returns
Type | Description |
---|---|
Boolean | true if a group with the name is found or false if one is not. |
CopyTo(KeyValuePair<String, VariablesGroupAsset>[], Int32)
Copy all global variable groups into the provided array starting at arrayIndex
.
Declaration
public void CopyTo(KeyValuePair<string, VariablesGroupAsset>[] array, int arrayIndex)
Parameters
Type | Name | Description |
---|---|---|
KeyValuePair<String, VariablesGroupAsset>[] | array | The array to copy the global variables into. |
Int32 | arrayIndex | The index to start copying into. |
EndUpdating()
Indicates that updates to IVariable have finished and sends the EndUpdate event. Note: BeginUpdating() and EndUpdating() can be nested, EndUpdate will only be called after the last EndUpdate.
Declaration
public static void EndUpdating()
GetEnumerator()
Returns an enumerator for all the global variables in the source.
Declaration
public IEnumerator GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator |
Remove(KeyValuePair<String, VariablesGroupAsset>)
Removes the group with the matching name.
Declaration
public bool Remove(KeyValuePair<string, VariablesGroupAsset> item)
Parameters
Type | Name | Description |
---|---|---|
KeyValuePair<String, VariablesGroupAsset> | item |
Returns
Type | Description |
---|---|
Boolean | true if a group with a matching name was found and removed, or false if one was not. |
Remove(String)
Removes the group with the matching name.
Declaration
public bool Remove(string name)
Parameters
Type | Name | Description |
---|---|---|
String | name | The name of the group to remove. |
Returns
Type | Description |
---|---|
Boolean | true if a group with a matching name was found and removed, or false if one was not. |
TryEvaluateSelector(ISelectorInfo)
Evaluates the ISelectorInfo based on the CurrentValue. If this extension cannot evaluate the Selector, returns False. Otherwise, sets the Result and returns true.
Declaration
public bool TryEvaluateSelector(ISelectorInfo selectorInfo)
Parameters
Type | Name | Description |
---|---|---|
ISelectorInfo | selectorInfo |
Returns
Type | Description |
---|---|
Boolean |
Implements
TryGetValue(String, out VariablesGroupAsset)
Returns true if a global variable group could be found with a matching name, or false if one could not.
Declaration
public bool TryGetValue(string name, out VariablesGroupAsset value)
Parameters
Type | Name | Description |
---|---|---|
String | name | The name of the global variable group to find. |
VariablesGroupAsset | value | The found global variable group or null if one could not be found with a matching name. |
Returns
Type | Description |
---|---|
Boolean |
UpdateScope()
Can be used to create a BeginUpdating() and EndUpdating() scope.
Declaration
public static IDisposable UpdateScope()
Returns
Type | Description |
---|---|
IDisposable |
Events
EndUpdate
Called after the final EndUpdating() has been called. This can be used when you wish to respond to value change events but wish to do a single update at the end instead of 1 per change. For example, if you wanted to change the value of multiple global variables that a smart string was using then changing each value would result in a new string being generated, by using begin and end the string generation can be deferred until the final change so that only 1 update is performed.
Declaration
public static event Action EndUpdate
Event Type
Type | Description |
---|---|
Action |