33 lines
907 B
C#
33 lines
907 B
C#
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace DuloGames.UI
|
|
{
|
|
[RequireComponent(typeof(InputField))]
|
|
public class UIInputCaretOffset : MonoBehaviour
|
|
{
|
|
[SerializeField] private Vector2 m_Offset = Vector2.zero;
|
|
private Vector2 m_InitialPosition = Vector2.zero;
|
|
|
|
protected void OnTransformChildrenChanged()
|
|
{
|
|
Invoke("ApplyOffset", 0.5f);
|
|
}
|
|
|
|
public void ApplyOffset()
|
|
{
|
|
foreach (Transform trans in this.transform)
|
|
{
|
|
if (trans.gameObject.name.ToLower().Contains("caret"))
|
|
{
|
|
RectTransform rect = (trans as RectTransform);
|
|
|
|
this.m_InitialPosition = rect.anchoredPosition;
|
|
rect.anchoredPosition = this.m_InitialPosition + this.m_Offset;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|