scripts
This commit is contained in:
@@ -0,0 +1,234 @@
|
||||
using System;
|
||||
using UnityEngine.Experimental.UIElements.StyleSheets;
|
||||
|
||||
namespace UnityEngine.Experimental.UIElements
|
||||
{
|
||||
// Token: 0x02000351 RID: 849
|
||||
public class TextField : VisualElement
|
||||
{
|
||||
// Token: 0x060033EE RID: 13294 RVA: 0x0005287C File Offset: 0x00050A7C
|
||||
public TextField()
|
||||
: this(-1, false, false, '\0')
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x060033EF RID: 13295 RVA: 0x0005288C File Offset: 0x00050A8C
|
||||
public TextField(int maxLength, bool multiline, bool isPasswordField, char maskChar)
|
||||
{
|
||||
this.maxLength = maxLength;
|
||||
this.multiline = multiline;
|
||||
this.isPasswordField = isPasswordField;
|
||||
this.maskChar = maskChar;
|
||||
if (this.touchScreenTextField)
|
||||
{
|
||||
this.editor = new TouchScreenTextEditor(this);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.doubleClickSelectsWord = true;
|
||||
this.tripleClickSelectsLine = true;
|
||||
this.editor = new KeyboardTextEditor(this);
|
||||
}
|
||||
base.AddManipulator(this.editor);
|
||||
}
|
||||
|
||||
// Token: 0x17000BD5 RID: 3029
|
||||
// (get) Token: 0x060033F0 RID: 13296 RVA: 0x00052904 File Offset: 0x00050B04
|
||||
// (set) Token: 0x060033F1 RID: 13297 RVA: 0x00052920 File Offset: 0x00050B20
|
||||
public bool multiline
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_Multiline;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_Multiline = value;
|
||||
if (!value)
|
||||
{
|
||||
base.text = base.text.Replace("\n", "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000BD6 RID: 3030
|
||||
// (get) Token: 0x060033F2 RID: 13298 RVA: 0x0005294C File Offset: 0x00050B4C
|
||||
// (set) Token: 0x060033F3 RID: 13299 RVA: 0x00052968 File Offset: 0x00050B68
|
||||
public bool isPasswordField
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_IsPasswordField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_IsPasswordField = value;
|
||||
if (value)
|
||||
{
|
||||
this.multiline = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000BD7 RID: 3031
|
||||
// (get) Token: 0x060033F4 RID: 13300 RVA: 0x00052980 File Offset: 0x00050B80
|
||||
// (set) Token: 0x060033F5 RID: 13301 RVA: 0x0005299C File Offset: 0x00050B9C
|
||||
public char maskChar { get; set; }
|
||||
|
||||
// Token: 0x17000BD8 RID: 3032
|
||||
// (get) Token: 0x060033F6 RID: 13302 RVA: 0x000529A8 File Offset: 0x00050BA8
|
||||
// (set) Token: 0x060033F7 RID: 13303 RVA: 0x000529C4 File Offset: 0x00050BC4
|
||||
public bool doubleClickSelectsWord { get; set; }
|
||||
|
||||
// Token: 0x17000BD9 RID: 3033
|
||||
// (get) Token: 0x060033F8 RID: 13304 RVA: 0x000529D0 File Offset: 0x00050BD0
|
||||
// (set) Token: 0x060033F9 RID: 13305 RVA: 0x000529EC File Offset: 0x00050BEC
|
||||
public bool tripleClickSelectsLine { get; set; }
|
||||
|
||||
// Token: 0x17000BDA RID: 3034
|
||||
// (get) Token: 0x060033FA RID: 13306 RVA: 0x000529F8 File Offset: 0x00050BF8
|
||||
// (set) Token: 0x060033FB RID: 13307 RVA: 0x00052A14 File Offset: 0x00050C14
|
||||
public int maxLength { get; set; }
|
||||
|
||||
// Token: 0x17000BDB RID: 3035
|
||||
// (get) Token: 0x060033FC RID: 13308 RVA: 0x00052A20 File Offset: 0x00050C20
|
||||
private bool touchScreenTextField
|
||||
{
|
||||
get
|
||||
{
|
||||
return TouchScreenKeyboard.isSupported;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000BDC RID: 3036
|
||||
// (get) Token: 0x060033FD RID: 13309 RVA: 0x00052A3C File Offset: 0x00050C3C
|
||||
internal GUIStyle style
|
||||
{
|
||||
get
|
||||
{
|
||||
GUIStyle guistyle;
|
||||
if ((guistyle = this.m_DrawGUIStyle) == null)
|
||||
{
|
||||
guistyle = (this.m_DrawGUIStyle = new GUIStyle());
|
||||
}
|
||||
return guistyle;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000BDD RID: 3037
|
||||
// (get) Token: 0x060033FE RID: 13310 RVA: 0x00052A6C File Offset: 0x00050C6C
|
||||
public bool hasFocus
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.elementPanel != null && base.elementPanel.focusedElement == this;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000BDE RID: 3038
|
||||
// (get) Token: 0x060033FF RID: 13311 RVA: 0x00052AA0 File Offset: 0x00050CA0
|
||||
// (set) Token: 0x06003400 RID: 13312 RVA: 0x00052ABC File Offset: 0x00050CBC
|
||||
public TextEditor editor { get; protected set; }
|
||||
|
||||
// Token: 0x06003401 RID: 13313 RVA: 0x00052AC8 File Offset: 0x00050CC8
|
||||
public override void OnStylesResolved(ICustomStyles styles)
|
||||
{
|
||||
base.OnStylesResolved(styles);
|
||||
this.m_Styles.WriteToGUIStyle(this.style);
|
||||
}
|
||||
|
||||
// Token: 0x06003402 RID: 13314 RVA: 0x00052AE4 File Offset: 0x00050CE4
|
||||
internal override void DoRepaint(IStylePainter painter)
|
||||
{
|
||||
if (this.touchScreenTextField)
|
||||
{
|
||||
TouchScreenTextEditor touchScreenTextEditor = this.editor as TouchScreenTextEditor;
|
||||
if (touchScreenTextEditor != null && touchScreenTextEditor.keyboardOnScreen != null)
|
||||
{
|
||||
base.text = touchScreenTextEditor.keyboardOnScreen.text;
|
||||
if (this.editor.maxLength >= 0 && base.text != null && base.text.Length > this.editor.maxLength)
|
||||
{
|
||||
base.text = base.text.Substring(0, this.editor.maxLength);
|
||||
}
|
||||
if (touchScreenTextEditor.keyboardOnScreen.done)
|
||||
{
|
||||
touchScreenTextEditor.keyboardOnScreen = null;
|
||||
GUI.changed = true;
|
||||
}
|
||||
}
|
||||
string text = base.text;
|
||||
if (touchScreenTextEditor != null && !string.IsNullOrEmpty(touchScreenTextEditor.secureText))
|
||||
{
|
||||
text = "".PadRight(touchScreenTextEditor.secureText.Length, this.maskChar);
|
||||
}
|
||||
this.style.Draw(base.position, GUIContent.Temp(text), 0, false);
|
||||
}
|
||||
else if (this.isPasswordField)
|
||||
{
|
||||
string text2 = "".PadRight(base.text.Length, this.maskChar);
|
||||
if (!this.hasFocus)
|
||||
{
|
||||
this.style.Draw(base.position, GUIContent.Temp(text2), 0, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.DrawCursor(text2);
|
||||
}
|
||||
}
|
||||
else if (!this.hasFocus)
|
||||
{
|
||||
this.style.Draw(base.position, GUIContent.Temp(base.text), 0, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.DrawCursor(base.text);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06003403 RID: 13315 RVA: 0x00052C90 File Offset: 0x00050E90
|
||||
private void DrawCursor(string newText)
|
||||
{
|
||||
KeyboardTextEditor keyboardTextEditor = this.editor as KeyboardTextEditor;
|
||||
if (keyboardTextEditor != null)
|
||||
{
|
||||
keyboardTextEditor.PreDrawCursor(newText);
|
||||
int cursorIndex = keyboardTextEditor.cursorIndex;
|
||||
int selectIndex = keyboardTextEditor.selectIndex;
|
||||
Rect localPosition = keyboardTextEditor.localPosition;
|
||||
Vector2 scrollOffset = keyboardTextEditor.scrollOffset;
|
||||
Vector2 contentOffset = this.style.contentOffset;
|
||||
this.style.contentOffset -= scrollOffset;
|
||||
this.style.Internal_clipOffset = scrollOffset;
|
||||
Input.compositionCursorPos = keyboardTextEditor.graphicalCursorPos - scrollOffset + new Vector2(localPosition.x, localPosition.y + this.style.lineHeight);
|
||||
GUIContent guicontent = new GUIContent(keyboardTextEditor.text);
|
||||
if (!string.IsNullOrEmpty(Input.compositionString))
|
||||
{
|
||||
this.style.DrawWithTextSelection(base.position, guicontent, this.HasCapture(), this.hasFocus, cursorIndex, cursorIndex + Input.compositionString.Length, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.style.DrawWithTextSelection(base.position, guicontent, this.HasCapture(), this.hasFocus, cursorIndex, selectIndex, false);
|
||||
}
|
||||
if (keyboardTextEditor.altCursorPosition != -1)
|
||||
{
|
||||
this.style.DrawCursor(base.position, guicontent, 0, keyboardTextEditor.altCursorPosition);
|
||||
}
|
||||
this.style.contentOffset = contentOffset;
|
||||
this.style.Internal_clipOffset = Vector2.zero;
|
||||
keyboardTextEditor.PostDrawCursor();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04000AEF RID: 2799
|
||||
private bool m_Multiline;
|
||||
|
||||
// Token: 0x04000AF0 RID: 2800
|
||||
private bool m_IsPasswordField;
|
||||
|
||||
// Token: 0x04000AF5 RID: 2805
|
||||
internal const int kMaxLengthNone = -1;
|
||||
|
||||
// Token: 0x04000AF6 RID: 2806
|
||||
private GUIStyle m_DrawGUIStyle;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user