示例#1
0
    public override void OnInspectorGUI()
    {
        m_target = target as UIT_TextExtend;

        EditorGUILayout.BeginHorizontal();
        GUILayout.Label("Auto Localize:", GUILayout.Width(Screen.width / 3 - 20));
        m_target.B_AutoLocalize = EditorGUILayout.Toggle(m_target.B_AutoLocalize, GUILayout.Width(Screen.width * 2 / 3 - 20));
        EditorGUILayout.EndHorizontal();

        if (m_target.B_AutoLocalize)
        {
            GUILayout.BeginHorizontal();
            GUILayout.Label("Localize Key:", GUILayout.Width(Screen.width / 3 - 20));
            m_target.S_AutoLocalizeKey = GUILayout.TextArea(m_target.S_AutoLocalizeKey, GUILayout.Width(Screen.width * 2 / 3 - 20));
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            TLocalization.SetRegion(enum_Option_LanguageRegion.CN);
            GUILayout.Label("Localized Text:", GUILayout.Width(Screen.width / 3 - 20));
            GUILayout.Label(TLocalization.CanLocalize(m_target.S_AutoLocalizeKey) ? TLocalization.GetKeyLocalized(m_target.S_AutoLocalizeKey) : "Unable To Localize", GUILayout.Width(Screen.width * 2 / 3 - 20));
            GUILayout.EndHorizontal();
        }

        EditorGUILayout.BeginHorizontal();
        int spacing = EditorGUILayout.IntField("Character Spacing:", m_target.m_characterSpacing);

        if (spacing != m_target.m_characterSpacing)
        {
            m_target.m_characterSpacing = spacing;
            m_target.SetAllDirty();
        }
        EditorGUILayout.EndHorizontal();

        base.OnInspectorGUI();
    }
        public override void OnInspectorGUI()
        {
            EditorGUILayout.BeginHorizontal();
            //Will Do Localize?
            GUILayout.Label("Auto Localize:", GUILayout.Width(Screen.width / 3 - 20));
            bool autoLocalize = EditorGUILayout.Toggle(m_target.B_AutoLocalize, GUILayout.Width(Screen.width * 2 / 3 - 20));;

            if (autoLocalize != m_target.B_AutoLocalize)
            {
                Undo.RecordObject(m_target, "Text Extend Undo");
                m_target.B_AutoLocalize = autoLocalize;
            }
            EditorGUILayout.EndHorizontal();

            // Do Localize
            if (m_target.B_AutoLocalize)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Label("Localize Key:", GUILayout.Width(Screen.width / 3 - 20));
                targetLocalize = EditorGUILayout.TextField(targetLocalize, GUILayout.Width(Screen.width * 2 / 3 - 20));

                string localizeKey  = null;
                bool   localized    = true;
                bool   keyLocalized = false;
                if (TLocalization.CheckKeyLocalizable(targetLocalize))
                {
                    localizeKey  = targetLocalize;
                    keyLocalized = true;
                }
                else if (TLocalization.CheckValueLocalized(targetLocalize))
                {
                    localizeKey  = TLocalization.FindLocalizeKey(targetLocalize);
                    keyLocalized = false;
                }
                else
                {
                    localized = false;
                }

                if (localizeKey != m_target.m_LocalizeKey)
                {
                    Undo.RecordObject(m_target, "Text Extend Undo");
                    m_target.m_LocalizeKey = localizeKey;
                }
                GUILayout.EndHorizontal();

                GUILayout.BeginHorizontal();
                if (localized)
                {
                    if (keyLocalized)
                    {
                        GUILayout.Label("Localized Value:", GUILayout.Width(Screen.width / 3 - 20));
                        GUILayout.Label(TLocalization.GetLocalizeValue(m_target.m_LocalizeKey), GUILayout.Width(Screen.width * 2 / 3 - 20));
                    }
                    else
                    {
                        GUILayout.Label("Localized Key:", GUILayout.Width(Screen.width / 3 - 20));
                        GUILayout.Label(m_target.m_LocalizeKey);
                    }
                }
                else
                {
                    GUILayout.Label("Unable To Localize");
                }
                GUILayout.EndHorizontal();
            }

            //Character Spacing
            EditorGUILayout.BeginHorizontal();
            int spacing = EditorGUILayout.IntField("Character Spacing:", m_target.m_CharacterSpacing);

            if (spacing != m_target.m_CharacterSpacing)
            {
                Undo.RecordObject(m_target, "Text Extend Undo");
                m_target.m_CharacterSpacing = spacing;
                m_target.SetAllDirty();
            }
            EditorGUILayout.EndHorizontal();

            base.OnInspectorGUI();
        }