94 lines
2.6 KiB
C#
94 lines
2.6 KiB
C#
using AlicizaX;
|
|
using AlicizaX.UI;
|
|
using UnityEngine;
|
|
using UnityEngine.EventSystems;
|
|
|
|
public sealed class TestScrollItemRender : ItemRender<TestData, TestScrollViewHolder>
|
|
{
|
|
public override ItemInteractionFlags InteractionFlags =>
|
|
ItemInteractionFlags.PointerClick |
|
|
ItemInteractionFlags.PointerEnter |
|
|
ItemInteractionFlags.PointerExit |
|
|
ItemInteractionFlags.Select |
|
|
ItemInteractionFlags.Deselect |
|
|
ItemInteractionFlags.Submit |
|
|
ItemInteractionFlags.Move;
|
|
|
|
protected override void OnHolderAttached()
|
|
{
|
|
base.OnHolderAttached();
|
|
baseui.BtnTest.onClick.AddListener(OnInnerButtonClick);
|
|
}
|
|
|
|
protected override void OnHolderDetached()
|
|
{
|
|
baseui.BtnTest.onClick.RemoveListener(OnInnerButtonClick);
|
|
}
|
|
|
|
protected override void OnBind(TestData data, int index)
|
|
{
|
|
baseui.Text.text = data.Name;
|
|
}
|
|
|
|
protected override void OnPointerClick(PointerEventData eventData)
|
|
{
|
|
Log.Info(CurrentData.Name + " item clicked");
|
|
}
|
|
|
|
protected override void OnPointerEnter(PointerEventData eventData)
|
|
{
|
|
baseui.Text.fontStyle = TMPro.FontStyles.Bold;
|
|
// Log.Info(CurrentData.Name + " Pointer Enter");
|
|
}
|
|
|
|
protected override void OnPointerExit(PointerEventData eventData)
|
|
{
|
|
baseui.Text.fontStyle = TMPro.FontStyles.Normal;
|
|
// Log.Info(CurrentData.Name + " Pointer Exit");
|
|
}
|
|
|
|
protected override void OnItemSelected(BaseEventData eventData)
|
|
{
|
|
baseui.Text.color = UnityEngine.Color.yellow;
|
|
Log.Info(CurrentData.Name + " Selected");
|
|
}
|
|
|
|
protected override void OnItemDeselected(BaseEventData eventData)
|
|
{
|
|
baseui.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 bool OnMove(AxisEventData eventData)
|
|
{
|
|
if (eventData.moveDir == MoveDirection.Down || eventData.moveDir == MoveDirection.Up) return false;
|
|
Debug.Log($"{CurrentData.Name} Moved {eventData.moveDir}");
|
|
return true;
|
|
}
|
|
|
|
protected override void OnClear()
|
|
{
|
|
base.OnClear();
|
|
baseui.Text.fontStyle = TMPro.FontStyles.Normal;
|
|
baseui.Text.color = UnityEngine.Color.black;
|
|
}
|
|
|
|
private void OnInnerButtonClick()
|
|
{
|
|
Log.Info(CurrentData.Name + " button clicked");
|
|
}
|
|
}
|