243 lines
6.1 KiB
C#
243 lines
6.1 KiB
C#
|
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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|