首次提交
This commit is contained in:
117
Assets/Plugins/FairyGUI/Scripts/Utils/Html/HtmlInput.cs
Normal file
117
Assets/Plugins/FairyGUI/Scripts/Utils/Html/HtmlInput.cs
Normal file
@@ -0,0 +1,117 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user