using UnityEngine; using UnityEngine.UI; namespace TMPro { /// /// A simple component that can be added to a newly created object where inheriting from MaskableGraphic is needed. /// [RequireComponent(typeof(CanvasRenderer))] public class TMP_SelectionCaret : MaskableGraphic { /// /// Override to Cull function of MaskableGraphic to prevent Culling. /// /// /// public override void Cull(Rect clipRect, bool validRect) { //Debug.Log("***** Cull (" + clipRect + ") Valid Rect: " + validRect + " Cull: " + canvasRenderer.cull + " *****"); if (validRect) { canvasRenderer.cull = false; CanvasUpdateRegistry.RegisterCanvasElementForGraphicRebuild(this); return; } base.Cull(clipRect, validRect); } protected override void UpdateGeometry() { // Function overridden as Caret and text Selection Highlight is controlled by the Input Field. } } }