2026-05-06 15:07:56 +02:00

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