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); }
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(); }
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(); } }