コード例 #1
0
        public override void OnInspectorGUI()
        {
            EditorGUILayout.Separator();

            if (m_IDs == null)
            {
                m_IDs = AssetUtils.GetFirstOrCreate <SimpleLocalizationLanguagesAsset>("LocalizationLanguages");
            }
            if (m_IDs == null)
            {
                return;
            }

            SimpleTextLocalizer obj = (SimpleTextLocalizer)target;


            // Default text
            if (SimpleLocalizationLanguagesAsset.m_CurrentLanguageID == "" && obj.GetComponent <Text> ().text != obj.m_OriginalText)
            {
                obj.Save();
            }
            EditorGUILayout.LabelField("Default (" + m_IDs.m_DefaultLanguage + "): " + obj.m_OriginalText);

            // Localizations
            if (m_IDs.m_Languages.Count == 0)
            {
                EditorGUILayout.HelpBox("Languages list is empty. Please add languages in the global localization settings.", MessageType.Warning);
            }
            foreach (string id in m_IDs.m_Languages)
            {
                // Init localization value if needed
                if (!obj.m_Localisations.ContainsKey(id))
                {
                    obj.m_Localisations [id] = "";
                    EditorUtility.SetDirty(obj);
                }


                // Localization edit field
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField(id, GUILayout.MaxWidth(50));
                string newLoc = EditorGUILayout.TextField(obj.m_Localisations [id]);
                EditorGUILayout.EndHorizontal();

                // Set new localization if needed
                if (newLoc != obj.m_Localisations [id])
                {
                    obj.m_Localisations [id] = newLoc;
                    EditorUtility.SetDirty(obj);
                }
            }



            // Global
            LanguagesDrawer.DrawGUI(m_IDs);
        }
コード例 #2
0
ファイル: LanguagesDrawer.cs プロジェクト: Noitha/AR_Shooter
        public static void DrawGUI(SimpleLocalizationLanguagesAsset id)
        {
            // GENERAL
            EditorGUILayout.Separator();
            EditorGUILayout.Separator();
            EditorGUILayout.LabelField("Global localization settings", EditorStyles.boldLabel);
            SerializedObject asset = new SerializedObject(id);

            asset.Update();
            EditorGUILayout.PropertyField(asset.FindProperty("m_DefaultLanguage"));
            EditorGUILayout.PropertyField(asset.FindProperty("m_Languages"), true);
            asset.ApplyModifiedProperties();

            // Current
            EditorGUILayout.HelpBox("Current active language: " + (SimpleLocalizationLanguagesAsset.m_CurrentLanguageID == "" ? "default (" + id.m_DefaultLanguage + ")" : SimpleLocalizationLanguagesAsset.m_CurrentLanguageID), MessageType.Info);
        }
コード例 #3
0
ファイル: LanguageSwitcher.cs プロジェクト: Noitha/AR_Shooter
 public void Set(string id)
 {
     SimpleLocalizationLanguagesAsset.SetLanguage(id);
 }
コード例 #4
0
        public override void OnInspectorGUI()
        {
            EditorGUILayout.Separator();

            if (m_IDs == null)
            {
                SimpleLocalizationLanguagesAsset[] l = Resources.LoadAll <SimpleLocalizationLanguagesAsset> ("");
                if (l.Length > 0)
                {
                    m_IDs = l [0];
                }
                else
                {
                    m_IDs = ScriptableObjectUtils.CreateAsset <SimpleLocalizationLanguagesAsset> ("LocalizationLanguages");
                }
            }
            if (m_IDs == null)
            {
                return;
            }

            SimpleImageLocalizer obj = (SimpleImageLocalizer)target;


            // Default text
            if (SimpleLocalizationLanguagesAsset.m_CurrentLanguageID == "" && obj.GetComponent <RawImage> ().texture != obj.m_OriginalTexture)
            {
                obj.Save();
            }
            EditorGUILayout.LabelField("Default (" + m_IDs.m_DefaultLanguage + ") ");
            EditorGUILayout.ObjectField(obj.m_OriginalTexture, typeof(Texture), false);

            // Localizations
            if (m_IDs.m_Languages.Count == 0)
            {
                EditorGUILayout.HelpBox("Languages list is empty. Please add languages in the global localization settings.", MessageType.Warning);
            }
            foreach (string id in m_IDs.m_Languages)
            {
                // Init localization value if needed
                if (!obj.m_Localisations.ContainsKey(id))
                {
                    obj.m_Localisations [id] = null;
                    EditorUtility.SetDirty(obj);
                }


                // Localization edit field
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField(id, GUILayout.MaxWidth(50));
                Texture newLoc = (Texture)EditorGUILayout.ObjectField(obj.m_Localisations [id], typeof(Texture), false);
                EditorGUILayout.EndHorizontal();

                // Set new localization if needed
                if (newLoc != obj.m_Localisations [id])
                {
                    obj.m_Localisations [id] = newLoc;
                    EditorUtility.SetDirty(obj);
                }
            }

            // Global
            LanguagesDrawer.DrawGUI(m_IDs);
        }