Class LocalizationTableCollection
Editor interface to a collection of tables which all share the same SharedTableData.
Inherited Members
Namespace: UnityEditor.Localization
Syntax
public abstract class LocalizationTableCollection : ScriptableObject, ISerializationCallbackReceiver
Properties
DefaultGroupName
The default value to use for Group.
Declaration
protected abstract string DefaultGroupName { get; }
Property Value
| Type | Description |
|---|---|
| String |
Extensions
Extensions attached to the collection. Extensions can be used to attach additional data or functionality to a collection.
Declaration
public virtual ReadOnlyCollection<CollectionExtension> Extensions { get; }
Property Value
| Type | Description |
|---|---|
| ReadOnlyCollection<CollectionExtension> |
Group
Collections can be added to groups which will be used when showing the list of collections in the Localization Window.
For example all collections with the Group "UI" would be shown under a UI menu in the Selected Table Collection field.
Declaration
public string Group { get; set; }
Property Value
| Type | Description |
|---|---|
| String |
RequiredExtensionAttribute
The required attribute for an extension to be added to this collection through the Editor.
Declaration
protected abstract Type RequiredExtensionAttribute { get; }
Property Value
| Type | Description |
|---|---|
| Type |
SharedData
The SharedTableData that is used by all tables in this collection.
Declaration
public virtual SharedTableData SharedData { get; }
Property Value
| Type | Description |
|---|---|
| SharedTableData |
TableCollectionName
The name of this collection of Tables.
Declaration
public virtual string TableCollectionName { get; set; }
Property Value
| Type | Description |
|---|---|
| String |
TableCollectionNameReference
Reference to use to refer to this table collection.
Declaration
public TableReference TableCollectionNameReference { get; }
Property Value
| Type | Description |
|---|---|
| TableReference |
Tables
All tables that are part of this collection. Tables are stored as LazyLoadReferences so that they only load when required and not when the collection loads.
Declaration
public ReadOnlyCollection<LazyLoadReference<LocalizationTable>> Tables { get; }
Property Value
| Type | Description |
|---|---|
| ReadOnlyCollection<LazyLoadReference<LocalizationTable>> |
TableType
The type of table stored in the collection.
Declaration
protected abstract Type TableType { get; }
Property Value
| Type | Description |
|---|---|
| Type |
Methods
AddExtension(CollectionExtension)
Attaches the provided extension to the collection.
Declaration
public void AddExtension(CollectionExtension extension)
Parameters
| Type | Name | Description |
|---|---|---|
| CollectionExtension | extension | The extension to add to the collection. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | Thrown if the extension does not have correct attribute. |
AddNewTable(LocaleIdentifier)
Creates a table in the collection.
Declaration
public virtual LocalizationTable AddNewTable(LocaleIdentifier localeIdentifier)
Parameters
| Type | Name | Description |
|---|---|---|
| LocaleIdentifier | localeIdentifier |
Returns
| Type | Description |
|---|---|
| LocalizationTable |
|
AddNewTable(LocaleIdentifier, String)
Creates a table in the collection.
Declaration
public virtual LocalizationTable AddNewTable(LocaleIdentifier localeIdentifier, string path)
Parameters
| Type | Name | Description |
|---|---|---|
| LocaleIdentifier | localeIdentifier | |
| String | path |
Returns
| Type | Description |
|---|---|
| LocalizationTable |
|
AddSharedTableDataToAddressables()
Adds SharedData to Addressables.
Declaration
protected virtual void AddSharedTableDataToAddressables()
AddTable(LocalizationTable, Boolean, Boolean)
Adds the table to the collection and updates Addressable assets. The table will not be added if it is not using the same SharedTableData as the collection.
Declaration
public virtual void AddTable(LocalizationTable table, bool createUndo = false, bool postEvent = true)
Parameters
| Type | Name | Description |
|---|---|---|
| LocalizationTable | table | The table to add to the collection. |
| Boolean | createUndo | Should an Undo operation be created? |
| Boolean | postEvent | Should the TableAddedToCollection event be sent after the table was added? |
AddTableToAddressables(LocalizationTable, Boolean)
Add the table to the Addressable assets system.
Declaration
protected virtual void AddTableToAddressables(LocalizationTable table, bool createUndo)
Parameters
| Type | Name | Description |
|---|---|---|
| LocalizationTable | table | The table to add. |
| Boolean | createUndo | Should an Undo operation be recorded? |
ClearAllEntries()
Removes all the entries from SharedTableData and all Tables that are part of this collection.
Declaration
public virtual void ClearAllEntries()
ContainsTable(LocaleIdentifier)
Checks if a table with the same LocaleIdentifier exists in the collection.
Declaration
public bool ContainsTable(LocaleIdentifier localeIdentifier)
Parameters
| Type | Name | Description |
|---|---|---|
| LocaleIdentifier | localeIdentifier | The Id to match against. |
Returns
| Type | Description |
|---|---|
| Boolean |
ContainsTable(LocalizationTable)
Checks if a table with the same instance Id exists in the collection. This check should be fast as a table does not need to be loaded to have its instance Id compared.
Declaration
public bool ContainsTable(LocalizationTable table)
Parameters
| Type | Name | Description |
|---|---|---|
| LocalizationTable | table | The table to look for. |
Returns
| Type | Description |
|---|---|
| Boolean |
GetRowEnumerator<TTable, TEntry>(IEnumerable<TTable>)
Returns an enumerable for stepping through the rows of the collection. Sorted by the SharedData entry Ids.
Declaration
protected static IEnumerable<LocalizationTableCollection.Row<TEntry>> GetRowEnumerator<TTable, TEntry>(IEnumerable<TTable> tables)
where TTable : DetailedLocalizationTable<TEntry> where TEntry : TableEntry
Parameters
| Type | Name | Description |
|---|---|---|
| IEnumerable<TTable> | tables |
Returns
| Type | Description |
|---|---|
| IEnumerable<LocalizationTableCollection.Row<TEntry>> |
Type Parameters
| Name | Description |
|---|---|
| TTable | |
| TEntry |
GetRowEnumeratorUnsorted<TTable, TEntry>(IList<TTable>)
Returns an enumerable for stepping through the rows of the collection. Unlike GetRowEnumerator<TTable, TEntry>(IEnumerable<TTable>), the items are not sorted by Id and will be returned in the same order as they are stored in SharedData.
Declaration
protected static IEnumerable<LocalizationTableCollection.Row<TEntry>> GetRowEnumeratorUnsorted<TTable, TEntry>(IList<TTable> tables)
where TTable : DetailedLocalizationTable<TEntry> where TEntry : TableEntry
Parameters
| Type | Name | Description |
|---|---|---|
| IList<TTable> | tables |
Returns
| Type | Description |
|---|---|
| IEnumerable<LocalizationTableCollection.Row<TEntry>> |
Type Parameters
| Name | Description |
|---|---|
| TTable | |
| TEntry |
GetTable(LocaleIdentifier)
Returns the table with the matching LocaleIdentifier.
Declaration
public virtual LocalizationTable GetTable(LocaleIdentifier localeIdentifier)
Parameters
| Type | Name | Description |
|---|---|---|
| LocaleIdentifier | localeIdentifier | The locale identifier that the table must have. |
Returns
| Type | Description |
|---|---|
| LocalizationTable | The table with the matching LocaleIdentifier or null if one does not exist in the collection. |
ImportCollectionIntoProject()
Called when the asset is created or imported into a project(via OnPostprocessAllAssets).
Declaration
protected virtual void ImportCollectionIntoProject()
IsPreloadTableFlagSet()
Are the tables in the collection set to preload?
Declaration
public virtual bool IsPreloadTableFlagSet()
Returns
| Type | Description |
|---|---|
| Boolean | True if all tables are set to preload else false. |
RefreshAddressables(Boolean)
Forces Addressables data to be updated for this collection. This will ensure that SharedData and Tables are both part of Addressables and correctly labeled.
Declaration
public void RefreshAddressables(bool createUndo = false)
Parameters
| Type | Name | Description |
|---|---|---|
| Boolean | createUndo |
RemoveCollectionFromProject()
Called to remove the asset from a project, such as when it is about to be deleted.
Declaration
protected virtual void RemoveCollectionFromProject()
RemoveEntry(TableEntryReference)
Removes the entry from the SharedTableData and all tables that are part of this collection.
Declaration
public abstract void RemoveEntry(TableEntryReference entryReference)
Parameters
| Type | Name | Description |
|---|---|---|
| TableEntryReference | entryReference |
RemoveExtension(CollectionExtension)
Removes the extension from Extensions.
Declaration
public void RemoveExtension(CollectionExtension extension)
Parameters
| Type | Name | Description |
|---|---|---|
| CollectionExtension | extension | The extension to remove from the collection. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | Thrown if the extension is null. |
RemoveTable(LocalizationTable, Boolean, Boolean)
Removes the table from the collection and updates Addressables assets.
Declaration
public virtual void RemoveTable(LocalizationTable table, bool createUndo = false, bool postEvent = true)
Parameters
| Type | Name | Description |
|---|---|---|
| LocalizationTable | table | |
| Boolean | createUndo | |
| Boolean | postEvent | Should the TableRemovedFromCollection event be sent after the table has been removed? |
RemoveTableFromAddressables(LocalizationTable, Boolean)
Remove the table from the Addressables system.
Declaration
protected virtual void RemoveTableFromAddressables(LocalizationTable table, bool createUndo)
Parameters
| Type | Name | Description |
|---|---|---|
| LocalizationTable | table | The table to remove. |
| Boolean | createUndo | Should an Undo operation be recorded? |
SetPreloadTableFlag(Boolean, Boolean)
Sets the preload flag for all tables in this collection.
Declaration
public virtual void SetPreloadTableFlag(bool preload, bool createUndo = false)
Parameters
| Type | Name | Description |
|---|---|---|
| Boolean | preload | Should the tables be preloaded? True for preloading or false to load on demand. |
| Boolean | createUndo | Create an undo point? |
SetTableCollectionName(String, Boolean)
Changes the table collection name. This will change TableCollectionName and update the Addressables data for all tables within the collection.
Declaration
public void SetTableCollectionName(string name, bool createUndo = false)
Parameters
| Type | Name | Description |
|---|---|---|
| String | name | |
| Boolean | createUndo |