using UnityEngine; using System.Collections.Generic; namespace Lean.Localization { /// This is the interface used for all translation sources. When a translation source is built, it will populate the LeanLocalization class with its translation data. public abstract class LeanSource : MonoBehaviour { public static LinkedList Instances = new LinkedList(); [System.NonSerialized] private LinkedListNode node; public abstract void Compile(string primaryLanguage, string secondaryLanguage); protected virtual void OnEnable() { node = Instances.AddLast(this); LeanLocalization.DelayUpdateTranslations(); } protected virtual void OnDisable() { Instances.Remove(node); LeanLocalization.DelayUpdateTranslations(); } } }