Beispiel #1
0
    void OnEnable()
    {
        // Setup the SerializedProperties
        //targatSerializedObject = new SerializedObject(target);
        ThaiText thaiText = target as ThaiText;

        script = MonoScript.FromMonoBehaviour((ThaiText)target);

        alignmentButtonLeft  = new GUIStyle(EditorStyles.miniButtonLeft);
        alignmentButtonMid   = new GUIStyle(EditorStyles.miniButtonMid);
        alignmentButtonRight = new GUIStyle(EditorStyles.miniButtonRight);

        m_LeftAlignText         = EditorGUIUtility.IconContent(@"GUISystem/align_horizontally_left", "Left Align");
        m_CenterAlignText       = EditorGUIUtility.IconContent(@"GUISystem/align_horizontally_center", "Center Align");
        m_RightAlignText        = EditorGUIUtility.IconContent(@"GUISystem/align_horizontally_right", "Right Align");
        m_LeftAlignTextActive   = EditorGUIUtility.IconContent(@"GUISystem/align_horizontally_left_active", "Left Align");
        m_CenterAlignTextActive = EditorGUIUtility.IconContent(@"GUISystem/align_horizontally_center_active", "Center Align");
        m_RightAlignTextActive  = EditorGUIUtility.IconContent(@"GUISystem/align_horizontally_right_active", "Right Align");

        m_TopAlignText          = EditorGUIUtility.IconContent(@"GUISystem/align_vertically_top", "Top Align");
        m_MiddleAlignText       = EditorGUIUtility.IconContent(@"GUISystem/align_vertically_center", "Middle Align");
        m_BottomAlignText       = EditorGUIUtility.IconContent(@"GUISystem/align_vertically_bottom", "Bottom Align");
        m_TopAlignTextActive    = EditorGUIUtility.IconContent(@"GUISystem/align_vertically_top_active", "Top Align");
        m_MiddleAlignTextActive = EditorGUIUtility.IconContent(@"GUISystem/align_vertically_center_active", "Middle Align");
        m_BottomAlignTextActive = EditorGUIUtility.IconContent(@"GUISystem/align_vertically_bottom_active", "Bottom Align");

        //    EditorGUIUtility.IconContent("TextAsset Icon");
        FixAlignmentButtonStyles(alignmentButtonLeft, alignmentButtonMid, alignmentButtonRight);
    }
Beispiel #2
0
        private static void UpdateLexto()
        {
            byte[] readText = File.ReadAllBytes(Lexitron.PathFile);
            LexTo.Instance.Load(readText);
            // These part is a workaround to force redraw Editor view
            ThaiText _ThaiText = GameObject.FindObjectOfType <ThaiText>();

            if (_ThaiText)
            {
                _ThaiText.enabled = false;
                _ThaiText.enabled = true;
            }
        }
    public override void OnInspectorGUI()
    {
        EditorGUI.BeginChangeCheck();

        ThaiText thaiText = target as ThaiText;

        GUI.enabled = false;
        script      = EditorGUILayout.ObjectField("Script", script, typeof(MonoScript), false) as MonoScript;
        GUI.enabled = true;

        EditorGUILayout.LabelField("Text");
        thaiText.text = EditorGUILayout.TextArea(thaiText.DefaultText, GUILayout.MinHeight(48));

        EditorGUILayout.LabelField("Character", EditorStyles.boldLabel);
        EditorGUI.indentLevel++;
        thaiText.font            = EditorGUILayout.ObjectField("Font", thaiText.font, typeof(UnityEngine.Font), false) as Font;
        thaiText.fontStyle       = (UnityEngine.FontStyle)EditorGUILayout.EnumPopup("Font Style", thaiText.fontStyle);
        thaiText.fontSize        = EditorGUILayout.IntField("Font Size", thaiText.fontSize);
        thaiText.lineSpacing     = EditorGUILayout.FloatField("Line Spacing", thaiText.lineSpacing);
        thaiText.supportRichText = EditorGUILayout.Toggle(new GUIContent("Rich Text", "For emoticons and  colors"), thaiText.supportRichText);
        EditorGUI.indentLevel--;

        EditorGUILayout.LabelField("Paragraph", EditorStyles.boldLabel);
        EditorGUI.indentLevel++;
        thaiText.alignment            = DrawGUITextAlignment(thaiText.alignment);
        thaiText.alignByGeometry      = EditorGUILayout.Toggle("Align By Geometry", thaiText.alignByGeometry);
        thaiText.horizontalOverflow   = (HorizontalWrapMode)EditorGUILayout.EnumPopup("Horizontal Overflow", thaiText.horizontalOverflow);
        thaiText.verticalOverflow     = (VerticalWrapMode)EditorGUILayout.EnumPopup("Vertical Overflow", thaiText.verticalOverflow);
        thaiText.resizeTextForBestFit = EditorGUILayout.Toggle("Best Fit", thaiText.resizeTextForBestFit);
        if (thaiText.resizeTextForBestFit)
        {
            thaiText.resizeTextMinSize = EditorGUILayout.IntField("Min Size", thaiText.resizeTextMinSize);
            thaiText.resizeTextMaxSize = EditorGUILayout.IntField("Max Size", thaiText.resizeTextMaxSize);
        }
        EditorGUI.indentLevel--;
        thaiText.color         = EditorGUILayout.ColorField("Color", thaiText.color);
        thaiText.material      = EditorGUILayout.ObjectField("Material", thaiText.material, typeof(UnityEngine.Material), false) as Material;
        thaiText.raycastTarget = EditorGUILayout.Toggle("Raycast Target", thaiText.raycastTarget);

        //string text = thaiText.text;
        if (EditorGUI.EndChangeCheck())
        {
            serializedObject.ApplyModifiedProperties();
        }

        targatSerializedObject.Update();
    }
Beispiel #4
0
        public override void OnInspectorGUI()
        {
            serializedObject.Update();

            EditorGUI.BeginChangeCheck();

            ThaiText thaiText = target as ThaiText;

            EditorGUILayout.PropertyField(defaultText, new GUIContent("Text"));
            EditorGUILayout.PropertyField(m_FontData);

            AppearanceControlsGUI();
            RaycastControlsGUI();
            MaskableControlsGUI();

            if (EditorGUI.EndChangeCheck())
            {
                m_Text.stringValue = ThaiText.TextAdjust(defaultText.stringValue, thaiText.GetBoxWidth(),
                                                         thaiText.horizontalOverflow, thaiText.GetFontData);
                serializedObject.ApplyModifiedProperties();
            }
        }