2025-06-07 17:43:34 +08:00

243 lines
6.1 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}
}