using AlicizaX; using AlicizaX.UI; using UnityEngine.EventSystems; public sealed class TestScrollItemRender : ItemRender { public override ItemInteractionFlags InteractionFlags => ItemInteractionFlags.PointerClick | ItemInteractionFlags.PointerEnter | ItemInteractionFlags.PointerExit | ItemInteractionFlags.Select | ItemInteractionFlags.Deselect | ItemInteractionFlags.Submit | ItemInteractionFlags.Move; protected override void OnHolderAttached() { base.OnHolderAttached(); Holder.BtnTest.onClick.AddListener(OnInnerButtonClick); } protected override void OnHolderDetached() { Holder.BtnTest.onClick.RemoveListener(OnInnerButtonClick); } protected override void OnBind(TestData data, int index) { Holder.Text.text = data.Name; } protected override void OnPointerClick(PointerEventData eventData) { Log.Info(CurrentData.Name + " item clicked"); } protected override void OnPointerEnter(PointerEventData eventData) { Holder.Text.fontStyle = TMPro.FontStyles.Bold; // Log.Info(CurrentData.Name + " Pointer Enter"); } protected override void OnPointerExit(PointerEventData eventData) { Holder.Text.fontStyle = TMPro.FontStyles.Normal; // Log.Info(CurrentData.Name + " Pointer Exit"); } protected override void OnItemSelected(BaseEventData eventData) { Holder.Text.color = UnityEngine.Color.yellow; Log.Info(CurrentData.Name + " Selected"); } protected override void OnItemDeselected(BaseEventData eventData) { Holder.Text.color = UnityEngine.Color.black; Log.Info(CurrentData.Name + " OnItemDeselected"); } protected override void OnSubmit(BaseEventData eventData) { Log.Info(CurrentData.Name + " submitted"); } protected override void OnSelectionChanged(bool selected) { if (selected) { Log.Info(CurrentData.Name + $" selection changed {selected}"); } } protected override void OnClear() { base.OnClear(); Holder.Text.fontStyle = TMPro.FontStyles.Normal; Holder.Text.color = UnityEngine.Color.black; } private void OnInnerButtonClick() { Log.Info(CurrentData.Name + " button clicked"); } }