Advertisement
Guest User

Localization Item

a guest
Aug 4th, 2020
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.79 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5.  
  6. public enum ETextSize
  7. {
  8.     None,
  9.     NormalSize,
  10.     LessSize,
  11.     SmallSize
  12. }
  13.  
  14. public class LocalizationForge : MonoBehaviour
  15. {
  16.     public ETextSize textSize = ETextSize.None;
  17.     public EMenuFontId readText = EMenuFontId.None;
  18.  
  19.     private Text text;
  20.  
  21.     public void OnLanguageChanged(LanguageItem newLanguage)
  22.     {
  23.         if (newLanguage == null)
  24.             return;
  25.  
  26.         //apply font settings
  27.         if (newLanguage.menuProfile.font != null)
  28.             text.font = newLanguage.menuProfile.font;
  29.         else
  30.             text.font = LanguageManager.GetInstance().defaultFont;
  31.  
  32.         //apply size
  33.         switch (textSize)
  34.         {
  35.             case ETextSize.NormalSize:
  36.                 text.fontSize = newLanguage.menuProfile.buttonFontSize;
  37.                 break;
  38.             case ETextSize.LessSize:
  39.                 text.fontSize = newLanguage.menuProfile.buttonFontSize * 3 / 4;
  40.                 break;
  41.             case ETextSize.SmallSize:
  42.                 text.fontSize = newLanguage.menuProfile.buttonFontSize / 2;
  43.                 break;
  44.         }
  45.  
  46.         //read text, if needed
  47.         if(readText!= EMenuFontId.None)
  48.             text.text = newLanguage.menuProfile.GetText(readText);
  49.     }
  50.  
  51.     private void Awake()
  52.     {
  53.         text = GetComponent<Text>();
  54.         if (text == null)
  55.             enabled = false;
  56.     }
  57.  
  58.     private void OnEnable()
  59.     {
  60.         LanguageManager.OnLanguageChanged += OnLanguageChanged;
  61.  
  62.         //read current localozation text
  63.         OnLanguageChanged(LanguageManager.currentLanguage);
  64.     }
  65.  
  66.     private void OnDisable()
  67.     {
  68.         LanguageManager.OnLanguageChanged -= OnLanguageChanged;
  69.     }
  70. }
  71.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement