You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
243 lines
6.1 KiB
243 lines
6.1 KiB
using System.Collections.Generic; |
|
using FairyGUI.Utils; |
|
using UnityEngine; |
|
|
|
namespace FairyGUI |
|
{ |
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public class GTextInput : GTextField |
|
{ |
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public InputTextField inputTextField { get; private set; } |
|
|
|
EventListener _onChanged; |
|
EventListener _onSubmit; |
|
|
|
public GTextInput() |
|
{ |
|
_textField.autoSize = AutoSizeType.None; |
|
_textField.wordWrap = false; |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public EventListener onChanged |
|
{ |
|
get { return _onChanged ?? (_onChanged = new EventListener(this, "onChanged")); } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public EventListener onSubmit |
|
{ |
|
get { return _onSubmit ?? (_onSubmit = new EventListener(this, "onSubmit")); } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public bool editable |
|
{ |
|
get { return inputTextField.editable; } |
|
set { inputTextField.editable = value; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public bool hideInput |
|
{ |
|
get { return inputTextField.hideInput; } |
|
set { inputTextField.hideInput = value; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public int maxLength |
|
{ |
|
get { return inputTextField.maxLength; } |
|
set { inputTextField.maxLength = value; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public string restrict |
|
{ |
|
get { return inputTextField.restrict; } |
|
set { inputTextField.restrict = value; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public bool displayAsPassword |
|
{ |
|
get { return inputTextField.displayAsPassword; } |
|
set { inputTextField.displayAsPassword = value; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public int caretPosition |
|
{ |
|
get { return inputTextField.caretPosition; } |
|
set { inputTextField.caretPosition = value; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public string promptText |
|
{ |
|
get { return inputTextField.promptText; } |
|
set { inputTextField.promptText = value; } |
|
} |
|
|
|
/// <summary> |
|
/// 在移动设备上是否使用键盘输入。如果false,则文本在获得焦点后不会弹出键盘。 |
|
/// </summary> |
|
public bool keyboardInput |
|
{ |
|
get { return inputTextField.keyboardInput; } |
|
set { inputTextField.keyboardInput = value; } |
|
} |
|
|
|
/// <summary> |
|
/// <see cref="UnityEngine.TouchScreenKeyboardType"/> |
|
/// </summary> |
|
public int keyboardType |
|
{ |
|
get { return inputTextField.keyboardType; } |
|
set { inputTextField.keyboardType = value; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public bool disableIME |
|
{ |
|
get { return inputTextField.disableIME; } |
|
set { inputTextField.disableIME = value; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public Dictionary<uint, Emoji> emojies |
|
{ |
|
get { return inputTextField.emojies; } |
|
set { inputTextField.emojies = value; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public int border |
|
{ |
|
get { return inputTextField.border; } |
|
set { inputTextField.border = value; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public int corner |
|
{ |
|
get { return inputTextField.corner; } |
|
set { inputTextField.corner = value; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public Color borderColor |
|
{ |
|
get { return inputTextField.borderColor; } |
|
set { inputTextField.borderColor = value; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public Color backgroundColor |
|
{ |
|
get { return inputTextField.backgroundColor; } |
|
set { inputTextField.backgroundColor = value; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
public bool mouseWheelEnabled |
|
{ |
|
get { return inputTextField.mouseWheelEnabled; } |
|
set { inputTextField.mouseWheelEnabled = value; } |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
/// <param name="start"></param> |
|
/// <param name="length"></param> |
|
public void SetSelection(int start, int length) |
|
{ |
|
inputTextField.SetSelection(start, length); |
|
} |
|
|
|
/// <summary> |
|
/// |
|
/// </summary> |
|
/// <param name="value"></param> |
|
public void ReplaceSelection(string value) |
|
{ |
|
inputTextField.ReplaceSelection(value); |
|
} |
|
|
|
override protected void SetTextFieldText() |
|
{ |
|
inputTextField.text = _text; |
|
} |
|
|
|
override protected void CreateDisplayObject() |
|
{ |
|
inputTextField = new InputTextField(); |
|
inputTextField.gOwner = this; |
|
displayObject = inputTextField; |
|
|
|
_textField = inputTextField.textField; |
|
} |
|
|
|
public override void Setup_BeforeAdd(ByteBuffer buffer, int beginPos) |
|
{ |
|
base.Setup_BeforeAdd(buffer, beginPos); |
|
|
|
buffer.Seek(beginPos, 4); |
|
|
|
string str = buffer.ReadS(); |
|
if (str != null) |
|
inputTextField.promptText = str; |
|
|
|
str = buffer.ReadS(); |
|
if (str != null) |
|
inputTextField.restrict = str; |
|
|
|
int iv = buffer.ReadInt(); |
|
if (iv != 0) |
|
inputTextField.maxLength = iv; |
|
iv = buffer.ReadInt(); |
|
if (iv != 0) |
|
inputTextField.keyboardType = iv; |
|
if (buffer.ReadBool()) |
|
inputTextField.displayAsPassword = true; |
|
} |
|
} |
|
} |