docs.unity3d.com
    目次を表示する/隠す

    Class TrackedMonoBehaviourObject

    Uses JSON to apply variant data to target object.

    Inheritance
    Object
    TrackedObject
    JsonSerializerTrackedObject
    TrackedMonoBehaviourObject
    Inherited Members
    JsonSerializerTrackedObject.UpdateType
    JsonSerializerTrackedObject.AddTrackedProperty(ITrackedProperty)
    JsonSerializerTrackedObject.ApplyLocale(Locale, Locale)
    TrackedObject.Target
    TrackedObject.TrackedProperties
    TrackedObject.CanTrackProperty(String)
    TrackedObject.AddTrackedProperty<T>(String)
    TrackedObject.RemoveTrackedProperty(ITrackedProperty)
    TrackedObject.GetTrackedProperty<T>(String, Boolean)
    TrackedObject.GetTrackedProperty(String)
    TrackedObject.CreateCustomTrackedProperty(String)
    Namespace: UnityEngine.Localization.PropertyVariants.TrackedObjects
    Syntax
    [Serializable]
    [CustomTrackedObject(typeof(MonoBehaviour), true)]
    public class TrackedMonoBehaviourObject : JsonSerializerTrackedObject, ISerializationCallbackReceiver
    Examples

    This shows how to configure a GameObjectLocalizer to apply changes to a custom MonoBehaviour script.

    public class MyScript : MonoBehaviour
    {
    public string myText;
    public Color textColor;
    
    void OnGUI()
    {
        GUI.color = textColor;
        GUILayout.Label(myText);
    }
    }
    
    public static class MyScriptEditor
    {
    public static void SetupLocalization(MyScript script)
    {
        var localizer = script.gameObject.AddComponent<GameObjectLocalizer>();
    
        // Gets the Tracked text or creates a new tracker
        var trackedScript = localizer.GetTrackedObject<TrackedMonoBehaviourObject>(script);
    
        // Gets the Property Variant for the text or creates a new one
        var textVariant = trackedScript.GetTrackedProperty<LocalizedStringProperty>(nameof(MyScript.myText));
        textVariant.LocalizedString.SetReference("My String Table Collection", "My Text");
    
        var redVariant = trackedScript.GetTrackedProperty<FloatTrackedProperty>("textColor.r");
        var greenVariant = trackedScript.GetTrackedProperty<FloatTrackedProperty>("textColor.g");
        var blueVariant = trackedScript.GetTrackedProperty<FloatTrackedProperty>("textColor.b");
    
        // Default to black text
        redVariant.SetValue("en", 0);
        greenVariant.SetValue("en", 0);
        blueVariant.SetValue("en", 0);
    
        // Use Red for French
        redVariant.SetValue("fr", 1);
    
        // Use Green for Japanese
        greenVariant.SetValue("fr", 1);
    
        // Use white for Arabic
        redVariant.SetValue("ar", 1);
        greenVariant.SetValue("ar", 1);
        blueVariant.SetValue("ar", 1);
    }
    }

    Properties

    Changed

    Declaration
    public UnityEvent Changed { get; }
    Property Value
    Type Description
    UnityEvent

    Methods

    PostApplyTrackedProperties()

    Declaration
    protected override void PostApplyTrackedProperties()
    Overrides
    TrackedObject.PostApplyTrackedProperties()
    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)