AlicizaX/Client/Assets/Scripts/Hotfix/GameLogic/UI/TestScrollItemRender.cs

94 lines
2.6 KiB
C#
Raw Normal View History

2026-03-27 20:56:06 +08:00
using AlicizaX;
using AlicizaX.UI;
2026-04-01 13:20:06 +08:00
using UnityEngine;
2026-03-31 17:26:51 +08:00
using UnityEngine.EventSystems;
2026-03-27 20:56:06 +08:00
public sealed class TestScrollItemRender : ItemRender<TestData, TestScrollViewHolder>
{
2026-03-31 17:26:51 +08:00
public override ItemInteractionFlags InteractionFlags =>
ItemInteractionFlags.PointerClick |
ItemInteractionFlags.PointerEnter |
ItemInteractionFlags.PointerExit |
ItemInteractionFlags.Select |
ItemInteractionFlags.Deselect |
ItemInteractionFlags.Submit |
ItemInteractionFlags.Move;
protected override void OnHolderAttached()
{
base.OnHolderAttached();
2026-04-01 13:20:06 +08:00
baseui.BtnTest.onClick.AddListener(OnInnerButtonClick);
2026-03-31 17:26:51 +08:00
}
protected override void OnHolderDetached()
2026-03-27 20:56:06 +08:00
{
2026-04-01 13:20:06 +08:00
baseui.BtnTest.onClick.RemoveListener(OnInnerButtonClick);
2026-03-27 20:56:06 +08:00
}
2026-03-31 17:26:51 +08:00
protected override void OnBind(TestData data, int index)
2026-03-27 20:56:06 +08:00
{
2026-04-01 13:20:06 +08:00
baseui.Text.text = data.Name;
2026-03-27 20:56:06 +08:00
}
2026-03-31 17:26:51 +08:00
protected override void OnPointerClick(PointerEventData eventData)
{
Log.Info(CurrentData.Name + " item clicked");
}
protected override void OnPointerEnter(PointerEventData eventData)
{
2026-04-01 13:20:06 +08:00
baseui.Text.fontStyle = TMPro.FontStyles.Bold;
2026-03-31 17:26:51 +08:00
// Log.Info(CurrentData.Name + " Pointer Enter");
}
protected override void OnPointerExit(PointerEventData eventData)
{
2026-04-01 13:20:06 +08:00
baseui.Text.fontStyle = TMPro.FontStyles.Normal;
2026-03-31 17:26:51 +08:00
// Log.Info(CurrentData.Name + " Pointer Exit");
}
protected override void OnItemSelected(BaseEventData eventData)
{
2026-04-01 13:20:06 +08:00
baseui.Text.color = UnityEngine.Color.yellow;
2026-03-31 17:26:51 +08:00
Log.Info(CurrentData.Name + " Selected");
}
protected override void OnItemDeselected(BaseEventData eventData)
{
2026-04-01 13:20:06 +08:00
baseui.Text.color = UnityEngine.Color.black;
2026-03-31 17:26:51 +08:00
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}");
}
}
2026-04-01 13:20:06 +08:00
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;
}
2026-03-31 17:26:51 +08:00
protected override void OnClear()
{
base.OnClear();
2026-04-01 13:20:06 +08:00
baseui.Text.fontStyle = TMPro.FontStyles.Normal;
baseui.Text.color = UnityEngine.Color.black;
2026-03-31 17:26:51 +08:00
}
private void OnInnerButtonClick()
2026-03-27 20:56:06 +08:00
{
2026-03-31 17:26:51 +08:00
Log.Info(CurrentData.Name + " button clicked");
2026-03-27 20:56:06 +08:00
}
}