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); }
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; } }
public static bool DoRepeatButton(GUIContent content, GUIStyle style, GUILayoutOption[] options) { return(GUI.DoRepeatButton(LayoutUtilityUnstrip.GetRect(content, style, options), content, style, FocusType.Passive)); }