You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
2.5 KiB
110 lines
2.5 KiB
using UnityEngine; |
|
using UnityEngine.UI; |
|
using WebGLSupport.Detail; |
|
|
|
namespace WebGLSupport |
|
{ |
|
/// <summary> |
|
/// Wrapper for UnityEngine.UI.InputField |
|
/// </summary> |
|
class WrappedInputField : IInputField |
|
{ |
|
InputField input; |
|
RebuildChecker checker; |
|
|
|
public bool ReadOnly { get { return input.readOnly; } } |
|
|
|
public string text |
|
{ |
|
get { return input.text; } |
|
set { input.text = value; } |
|
} |
|
|
|
public string placeholder |
|
{ |
|
get |
|
{ |
|
if (!input.placeholder) return ""; |
|
var text = input.placeholder.GetComponent<Text>(); |
|
return text ? text.text : ""; |
|
} |
|
} |
|
|
|
public int fontSize |
|
{ |
|
get { return input.textComponent.fontSize; } |
|
} |
|
|
|
public ContentType contentType |
|
{ |
|
get { return (ContentType)input.contentType; } |
|
} |
|
|
|
public LineType lineType |
|
{ |
|
get { return (LineType)input.lineType; } |
|
} |
|
|
|
public int characterLimit |
|
{ |
|
get { return input.characterLimit; } |
|
} |
|
|
|
public int caretPosition |
|
{ |
|
get { return input.caretPosition; } |
|
} |
|
|
|
public bool isFocused |
|
{ |
|
get { return input.isFocused; } |
|
} |
|
|
|
public int selectionFocusPosition |
|
{ |
|
get { return input.selectionFocusPosition; } |
|
set { input.selectionFocusPosition = value; } |
|
} |
|
|
|
public int selectionAnchorPosition |
|
{ |
|
get { return input.selectionAnchorPosition; } |
|
set { input.selectionAnchorPosition = value; } |
|
} |
|
|
|
public bool OnFocusSelectAll |
|
{ |
|
get { return true; } |
|
} |
|
|
|
public WrappedInputField(InputField input) |
|
{ |
|
this.input = input; |
|
checker = new RebuildChecker(this); |
|
} |
|
|
|
public RectTransform RectTransform() |
|
{ |
|
return input.GetComponent<RectTransform>(); |
|
} |
|
|
|
public void ActivateInputField() |
|
{ |
|
input.ActivateInputField(); |
|
} |
|
|
|
public void DeactivateInputField() |
|
{ |
|
input.DeactivateInputField(); |
|
} |
|
|
|
public void Rebuild() |
|
{ |
|
if (checker.NeedRebuild()) |
|
{ |
|
input.textComponent.SetAllDirty(); |
|
input.Rebuild(CanvasUpdate.LatePreRender); |
|
} |
|
} |
|
} |
|
} |