// OnDestroy unregisters this listener from the language controller private void OnDestroy() { langCtrl = Resources.Load("Localization Tool") as LanguageController; if (langCtrl == null) { langCtrl = BuildLanguageController.BuildAsset(); Debug.Log("was null!"); } langCtrl.UnregisterLangListener(this); }
// Start registers this listener to the language controller void Start() { langCtrl = Resources.Load("Localization Tool") as LanguageController; if (langCtrl == null) { langCtrl = BuildLanguageController.BuildAsset(); Debug.Log("was null!"); } langCtrl.RegisterLangListener(this); thisText = gameObject.GetComponent <Text>(); }
// OnEnable loads the localization tool and registers this obj as a key-phrase listener private void OnEnable() { langCtrl = Resources.Load("Localization Tool") as LanguageController; if (langCtrl == null) { langCtrl = BuildLanguageController.BuildAsset(); } keyPhrases = langCtrl.GetKeyPhrases(); langCtrl.RegisterKeyListener(this); }
// GetKeyPhraseArray returns the corresponding array to the language controller's // list of key-phrases public string[] GetKeyPhraseArray() { langCtrl = Resources.Load("Localization Tool") as LanguageController; if (langCtrl == null) { langCtrl = BuildLanguageController.BuildAsset(); Debug.Log("was null!"); } List <string> keyPhrases = langCtrl.GetKeyPhrases(); return(keyPhrases.ToArray()); }
// OnLangChange is sort of an event raised by the LanguageEditor when a new language is selection // and will update the key-phrase chosen (THIS IS SEEN WHEN YOU FOCUS ON THE OBJ IN QUESTION BECAUSE // IT IS HAPPENING IN EDIT MODE) public void OnLangChange() { Debug.Log("in OnLangChange method"); langCtrl = Resources.Load("Localization Tool") as LanguageController; if (langCtrl == null) { langCtrl = BuildLanguageController.BuildAsset(); Debug.Log("was null!"); } thisText.text = langCtrl.GetValue(currentKeyPhrase); UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); }
// AssignControllers loads the localization and dialog tools private void AssignControllers() { langCtrl = Resources.Load("Localization Tool") as LanguageController; if (langCtrl == null) { langCtrl = BuildLanguageController.BuildAsset(); } dialogCtrl = Resources.Load("Dialog Tool") as DialogController; if (dialogCtrl == null) { dialogCtrl = BuildDialogController.BuildAsset(); } }
// SetKeyPhrase is called by the TextEditor when a key-phrase is chosen public void SetKeyPhrase(int keyPhraseIndex) { if (keyPhraseIndex >= 0) { string keyPhrase = GetKeyPhraseArray()[keyPhraseIndex]; if (keyPhrase != currentKeyPhrase) { currentKeyPhrase = keyPhrase; langCtrl = Resources.Load("Localization Tool") as LanguageController; if (langCtrl == null) { langCtrl = BuildLanguageController.BuildAsset(); Debug.Log("was null!"); } thisText.text = langCtrl.GetValue(currentKeyPhrase); Debug.Log("updated key phrase"); } } }