示例#1
0
    private void SetGridLayoutStartCorner(int currentLanguageIndex)
    {
        LocalizationManager.LocalizedLanguage currenctLanguage = (LocalizationManager.LocalizedLanguage)currentLanguageIndex;
        GridLayoutGroup gridLayoutGroup = GetComponent <GridLayoutGroup>();

        if (StartCorner == GridLayoutStartCorner.LeftRight)
        {
            if (currenctLanguage == LocalizationManager.LocalizedLanguage.Farsi && gridLayoutGroup.startCorner.ToString().Contains("Left"))
            {
                int alignmentNumber = (int)gridLayoutGroup.startCorner + 1;
                gridLayoutGroup.startCorner = (GridLayoutGroup.Corner)alignmentNumber;
            }
            else if (currenctLanguage != LocalizationManager.LocalizedLanguage.Farsi && gridLayoutGroup.startCorner.ToString().Contains("Right"))
            {
                int alignmentNumber = (int)gridLayoutGroup.startCorner - 1;
                gridLayoutGroup.startCorner = (GridLayoutGroup.Corner)alignmentNumber;
            }
        }
        else if (StartCorner == GridLayoutStartCorner.UpLow)
        {
            if (currenctLanguage == LocalizationManager.LocalizedLanguage.Farsi && gridLayoutGroup.startCorner.ToString().Contains("Low"))
            {
                int alignmentNumber = (int)gridLayoutGroup.startCorner - 2;
                gridLayoutGroup.startCorner = (GridLayoutGroup.Corner)alignmentNumber;
            }
            else if (currenctLanguage != LocalizationManager.LocalizedLanguage.Farsi && gridLayoutGroup.startCorner.ToString().Contains("Up"))
            {
                int alignmentNumber = (int)gridLayoutGroup.startCorner + 2;
                gridLayoutGroup.startCorner = (GridLayoutGroup.Corner)alignmentNumber;
            }
        }
        gridLayoutGroup.enabled = false;
        gridLayoutGroup.enabled = true;
    }
示例#2
0
    private void SetTextValue(int currentLanguageIndex, bool editMode = false)
    {
        RTLTextMeshPro RTLTextMeshPro = GetComponent <RTLTextMeshPro>();

        if (RTLTextMeshPro == null)
        {
            return;
        }

        if (!string.IsNullOrEmpty(LocalizedString.key))
        {
            string value;
            if (editMode)
            {
                value = LocalizationManager.GetLocalizedValue(LocalizedString.key, (LocalizationManager.LocalizedLanguage)currentLanguageIndex);
            }
            else
            {
                value = LocalizedString.value;
            }

            if (!string.IsNullOrEmpty(value))
            {
                RTLTextMeshPro.text = value;
            }
        }

        LocalizationManager.LocalizedLanguage currenctLanguage = (LocalizationManager.LocalizedLanguage)currentLanguageIndex;
        SetOtherSettings(RTLTextMeshPro, currenctLanguage);

        //Re-Fix
        RTLTextMeshPro.UpdateText();
    }
示例#3
0
    private void SetOtherSettings(RTLTextMeshPro RTLTextMeshPro, LocalizationManager.LocalizedLanguage currenctLanguage)
    {
        //Set ForceFix to show number-contained texts properly
        if (currenctLanguage == LocalizationManager.LocalizedLanguage.Farsi)
        {
            RTLTextMeshPro.forceFix = true;
        }
        else
        {
            RTLTextMeshPro.forceFix = false;
        }

        //Set FontAsset and MaterialPreset to show the proper Outline
        if (!FixedFontAsset)
        {
            LocalizationManager.Instance.SetFontAndMaterial(currenctLanguage, (int)Outline, ref RTLTextMeshPro);
        }

        //Set Alignment
        if (currenctLanguage == LocalizationManager.LocalizedLanguage.Farsi && RTLTextMeshPro.alignment.ToString().Contains("Left"))
        {
            int alignmentNumber = (int)RTLTextMeshPro.alignment + 3;
            RTLTextMeshPro.alignment = (TextAlignmentOptions)alignmentNumber;
        }
        else if (currenctLanguage != LocalizationManager.LocalizedLanguage.Farsi && RTLTextMeshPro.alignment.ToString().Contains("Right"))
        {
            int alignmentNumber = (int)RTLTextMeshPro.alignment - 3;
            RTLTextMeshPro.alignment = (TextAlignmentOptions)alignmentNumber;
        }
    }