123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- using UnityEngine;
- namespace FairyGUI.Utils
- {
- /// <summary>
- ///
- /// </summary>
- public class HtmlInput : IHtmlObject
- {
- public GTextInput textInput { get; private set; }
- RichTextField _owner;
- HtmlElement _element;
- bool _hidden;
- public static int defaultBorderSize = 2;
- public static Color defaultBorderColor = ToolSet.ColorFromRGB(0xA9A9A9);
- public static Color defaultBackgroundColor = Color.clear;
- public HtmlInput()
- {
- textInput = (GTextInput)UIObjectFactory.NewObject(ObjectType.InputText);
- textInput.gameObjectName = "HtmlInput";
- textInput.verticalAlign = VertAlignType.Middle;
- }
- public DisplayObject displayObject
- {
- get { return textInput.displayObject; }
- }
- public HtmlElement element
- {
- get { return _element; }
- }
- public float width
- {
- get { return _hidden ? 0 : textInput.width; }
- }
- public float height
- {
- get { return _hidden ? 0 : textInput.height; }
- }
- public void Create(RichTextField owner, HtmlElement element)
- {
- _owner = owner;
- _element = element;
- string type = element.GetString("type");
- if (type != null)
- type = type.ToLower();
- _hidden = type == "hidden";
- if (!_hidden)
- {
- int width = element.GetInt("width", 0);
- int height = element.GetInt("height", 0);
- int borderSize = element.GetInt("border", defaultBorderSize);
- Color borderColor = element.GetColor("border-color", defaultBorderColor);
- Color backgroundColor = element.GetColor("background-color", defaultBackgroundColor);
- if (width == 0)
- {
- width = element.space;
- if (width > _owner.width / 2 || width < 100)
- width = (int)_owner.width / 2;
- }
- if (height == 0)
- height = element.format.size + 10;
- textInput.textFormat = element.format;
- textInput.displayAsPassword = type == "password";
- textInput.maxLength = element.GetInt("maxlength", int.MaxValue);
- textInput.border = borderSize;
- textInput.borderColor = borderColor;
- textInput.backgroundColor = backgroundColor;
- textInput.SetSize(width, height);
- }
- textInput.text = element.GetString("value");
- }
- public void SetPosition(float x, float y)
- {
- if (!_hidden)
- textInput.SetXY(x, y);
- }
- public void Add()
- {
- if (!_hidden)
- _owner.AddChild(textInput.displayObject);
- }
- public void Remove()
- {
- if (!_hidden && textInput.displayObject.parent != null)
- _owner.RemoveChild(textInput.displayObject);
- }
- public void Release()
- {
- textInput.RemoveEventListeners();
- textInput.text = null;
- _owner = null;
- _element = null;
- }
- public void Dispose()
- {
- textInput.Dispose();
- }
- }
- }
|