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