Class KeyDatabase
The key database is responsible for holding localization keys and associating keys to unique ids.
Inheritance
Namespace: UnityEngine.Localization
Syntax
public class KeyDatabase : ScriptableObject, ISerializationCallbackReceiver
Fields
EmptyId
Declaration
public const uint EmptyId = 0U
Field Value
| Type | Description | 
|---|---|
| System.UInt32 | 
Properties
Entries
All Key Database entries.
Declaration
public List<KeyDatabase.KeyDatabaseEntry> Entries { get; set; }
Property Value
| Type | Description | 
|---|---|
| System.Collections.Generic.List<KeyDatabase.KeyDatabaseEntry> | 
Methods
AddKey(String)
Adds a new key to the database if one does not already exists with the same value. Duplicates are not allowed.
Declaration
public KeyDatabase.KeyDatabaseEntry AddKey(string key)
Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | key | 
Returns
| Type | Description | 
|---|---|
| KeyDatabase.KeyDatabaseEntry | The new key or null if the key already exists.  | 
Contains(String)
Is the key value used by any entries in the database?
Declaration
public bool Contains(string key)
Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | key | Key to check.  | 
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
Contains(UInt32)
Is the Id value used by any entries in the database?
Declaration
public bool Contains(uint id)
Parameters
| Type | Name | Description | 
|---|---|---|
| System.UInt32 | id | Id to check.  | 
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
FindSimilarKey(String, out Int32)
Returns the KeyDatabaseEntry that is the most similar to the text. Uses the Levenshtein distance method.
Declaration
public KeyDatabase.KeyDatabaseEntry FindSimilarKey(string text, out int distance)
Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | text | The text to match against.  | 
| System.Int32 | distance | The number of edits needed to turn   | 
Returns
| Type | Description | 
|---|---|
| KeyDatabase.KeyDatabaseEntry | The KeyDatabaseEntry that is the most similar to the text or null if one could not be found.  | 
GenerateUniqueId()
Declaration
protected virtual uint GenerateUniqueId()
Returns
| Type | Description | 
|---|---|
| System.UInt32 | 
GetId(String)
Get the unique Id for the key from the database.
Declaration
public uint GetId(string key)
Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | key | The key whose id is being requested.  | 
Returns
| Type | Description | 
|---|---|
| System.UInt32 | The keys id value or EmptyId if one does not exist.  | 
GetId(String, Boolean)
Declaration
public uint GetId(string key, bool addNewKey)
Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | key | |
| System.Boolean | addNewKey | 
Returns
| Type | Description | 
|---|---|
| System.UInt32 | 
GetKey(UInt32)
Get the key associated with the id.
Declaration
public string GetKey(uint id)
Parameters
| Type | Name | Description | 
|---|---|---|
| System.UInt32 | id | Id the key belongs to.  | 
Returns
| Type | Description | 
|---|---|
| System.String | The found key or null if one can not be found.  | 
OnAfterDeserialize()
Declaration
public void OnAfterDeserialize()
OnBeforeSerialize()
Declaration
public void OnBeforeSerialize()
RemoveKey(String)
Attempts to remove the key from the database.
Declaration
public void RemoveKey(string key)
Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | key | The key to be removed.  | 
RemoveKey(UInt32)
Attempts to remove the key with provided id.
Declaration
public void RemoveKey(uint id)
Parameters
| Type | Name | Description | 
|---|---|---|
| System.UInt32 | id | 
RenameKey(String, String)
Rename the key value if it exists.
Declaration
public void RenameKey(string oldValue, string newValue)
Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | oldValue | |
| System.String | newValue | 
RenameKey(UInt32, String)
Rename the key value for the provided id if it exists.
Declaration
public void RenameKey(uint id, string newValue)
Parameters
| Type | Name | Description | 
|---|---|---|
| System.UInt32 | id | |
| System.String | newValue |