Beispiel #1
0
        public static string TextField(string text, GUILayoutOption[] options, bool multiLine)
        {
            text = text ?? string.Empty;

            var skin = multiLine ? GUI.skin.textArea : GUI.skin.textField;

            int        controlID  = GUIUtility.GetControlID(FocusType.Keyboard);
            GUIContent guicontent = GUIContent.Temp(text);
            bool       flag       = GUIUtility.keyboardControl != controlID;

            if (flag)
            {
                guicontent = GUIContent.Temp(text);
            }
            else
            {
                guicontent = GUIContent.Temp(text);
                // guicontent = GUIContent.Temp(text + GUIUtility.compositionString);
            }
            Rect rect  = LayoutUtilityUnstrip.GetRect(guicontent, skin, options);
            bool flag2 = GUIUtility.keyboardControl == controlID;

            if (flag2)
            {
                guicontent = GUIContent.Temp(text);
            }
            DoTextField(rect, controlID, guicontent, multiLine, -1, skin);
            return(guicontent.text);
        }
Beispiel #2
0
        public static void Space(float pixels)
        {
            if (GUILayoutUtility.current.topLevel.isVertical)
            {
                LayoutUtilityUnstrip.GetRect(0, pixels, SpaceStyle, new GUILayoutOption[] { GUILayout.Height(pixels) });
            }
            else
            {
                LayoutUtilityUnstrip.GetRect(pixels, 0, SpaceStyle, new GUILayoutOption[] { GUILayout.Width(pixels) });
            }

            if (Event.current.type == EventType.Layout)
            {
                GUILayoutUtility.current.topLevel.entries[GUILayoutUtility.current.topLevel.entries.Count - 1].consideredForMargin = false;
            }
        }
Beispiel #3
0
 public static bool DoRepeatButton(GUIContent content, GUIStyle style, GUILayoutOption[] options)
 {
     return(GUI.DoRepeatButton(LayoutUtilityUnstrip.GetRect(content, style, options), content, style, FocusType.Passive));
 }