Version: Unity 6.7 Alpha (6000.7)
LanguageEnglish
  • C#

SharedTableData

class in Unity.Localization

/

Inherits from:ScriptableObject


Implements interfaces:ISerializationCallbackReceiver

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

The shared key table for a localization table collection: the set of string keys and their stable ids that every per-locale table in the collection uses.

Each key maps to a stable long id that never changes for the life of the key, so renaming a key keeps its translations intact. Ids come from the SharedTableData.KeyGenerator, a DistributedUIDGenerator by default, so they are non-sequential and an id of 0 means "no key". Every per-locale ResourceTable in the collection stores its values against these ids. Add and look up keys with SharedTableData.AddKey, SharedTableData.GetId, and SharedTableData.GetKey, and rename in place with SharedTableData.RenameKey. This type derives from ScriptableObject, so create an instance with ScriptableObject factory methods rather than the new operator.

Additional resources: SharedTableEntry, SharedEntryFlags, IKeyGenerator, ResourceTable

<para>Create shared data, add a key, and resolve between key text and id.</para>

using Unity.Localization;
using UnityEngine;

namespace Unity.Localization.Samples { public class SharedTableDataOverviewExample { public void Run() { var sharedData = ScriptableObject.CreateInstance<SharedTableData>(); sharedData.TableCollectionName = "UI Text";

SharedTableData.SharedTableEntry entry = sharedData.AddKey("GREETING"); long id = entry.Id;

Debug.Log(sharedData.GetId("GREETING")); // the same id Debug.Log(sharedData.GetKey(id)); // GREETING } } }

Properties

Property Description
Entries The keys in this shared data, in their current order.
KeyGenerator The generator that assigns stable ids to new keys.
Metadata Collection-level metadata shared across all locale tables.
TableCollectionName The name of the table collection this shared data belongs to.
TableCollectionNameGuid The asset guid of the table collection.

Public Methods

Method Description
AddKey Adds a key and returns its entry.
Clear Removes every key from the shared data.
GetEntry Returns the entry for a key.
GetId Returns the stable id for a key.
GetKey Returns the key text for a stable id.
IsSmart Returns whether a key is marked as a Smart String.
RemoveKey Removes a key from the shared data.
RenameKey Renames a key while keeping its id.
SetKeyOrder Reorders the keys to match a given sequence of ids.

Inherited Members

Properties

PropertyDescription
hideFlagsControls whether the object is hidden, saved with the scene, and editable by the user.
nameThe name of the object.

Public Methods

MethodDescription
GetEntityIdGets the EntityId of the object.
GetHashCodeReturns the hash code for the object.
ToStringReturns the name of the object.

Static Methods

MethodDescription
DestroyRemoves a GameObject, component, or asset.
DestroyImmediateDestroys the specified object immediately. Use with caution and in Edit mode only.
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindAnyObjectByTypeRetrieves any active loaded object of Type T.
FindObjectsByTypeRetrieves a list of all loaded objects of Type type.
InstantiateClones the object original and returns the clone.
InstantiateAsyncCaptures a snapshot of the original object that's related to another GameObject and obtains an AsyncInstantiateOperation instance of the resulting objects.
CreateInstanceCreates an instance of a scriptable object.

Operators

OperatorDescription
boolDetermines whether the object exists.
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.

Messages

MessageDescription
AwakeCalled when an instance of ScriptableObject is created.
OnDestroyThis function is called when the scriptable object will be destroyed.
OnDisableThis function is called when the scriptable object goes out of scope.
OnEnableThis function is called when the object is loaded.
OnValidateEditor-only function that Unity calls when the script is loaded or a value changes in the Inspector.
ResetReset to default values.