Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- public enum ETextSize
- {
- None,
- NormalSize,
- LessSize,
- SmallSize
- }
- public class LocalizationForge : MonoBehaviour
- {
- public ETextSize textSize = ETextSize.None;
- public EMenuFontId readText = EMenuFontId.None;
- private Text text;
- public void OnLanguageChanged(LanguageItem newLanguage)
- {
- if (newLanguage == null)
- return;
- //apply font settings
- if (newLanguage.menuProfile.font != null)
- text.font = newLanguage.menuProfile.font;
- else
- text.font = LanguageManager.GetInstance().defaultFont;
- //apply size
- switch (textSize)
- {
- case ETextSize.NormalSize:
- text.fontSize = newLanguage.menuProfile.buttonFontSize;
- break;
- case ETextSize.LessSize:
- text.fontSize = newLanguage.menuProfile.buttonFontSize * 3 / 4;
- break;
- case ETextSize.SmallSize:
- text.fontSize = newLanguage.menuProfile.buttonFontSize / 2;
- break;
- }
- //read text, if needed
- if(readText!= EMenuFontId.None)
- text.text = newLanguage.menuProfile.GetText(readText);
- }
- private void Awake()
- {
- text = GetComponent<Text>();
- if (text == null)
- enabled = false;
- }
- private void OnEnable()
- {
- LanguageManager.OnLanguageChanged += OnLanguageChanged;
- //read current localozation text
- OnLanguageChanged(LanguageManager.currentLanguage);
- }
- private void OnDisable()
- {
- LanguageManager.OnLanguageChanged -= OnLanguageChanged;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement