72 lines
2.0 KiB
C#
72 lines
2.0 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace Demo
|
|
{
|
|
public class ScrollIndexCallback_Custom : ScrollIndexCallbackBase
|
|
{
|
|
public Text m_CellText;
|
|
public Text m_ValueText;
|
|
|
|
public override void ScrollCellIndex(int idx, object content, string ClickUniqueID = "", object ClickObject = null)
|
|
{
|
|
base.ScrollCellIndex(idx, content, ClickUniqueID, ClickObject);
|
|
|
|
onClick_Custom.RemoveAllListeners();
|
|
onClick_Custom.AddListener(() => OnButtonScrollIndexCallbackClick(this, idx, content));
|
|
|
|
var Tempcontent = (int)content;
|
|
|
|
string name = "Cell " + idx.ToString();
|
|
if (m_CellText != null)
|
|
{
|
|
m_CellText.text = name;
|
|
}
|
|
|
|
if(m_ValueText != null)
|
|
{
|
|
m_ValueText.text = string.Format("Value: {0}", Tempcontent);
|
|
}
|
|
|
|
if (GetUniqueID() == ClickUniqueID)
|
|
{
|
|
SetClickedColor(true);
|
|
}
|
|
else
|
|
{
|
|
SetClickedColor(false);
|
|
}
|
|
}
|
|
|
|
public static void OnButtonScrollIndexCallbackClick(ScrollIndexCallback_Custom ScrollIndexCallback, int index, object content)
|
|
{
|
|
//Debug.LogWarningFormat("ScrollIndexCallback_Custom => Click index: {0}, content: {1}, ClickUniqueID: {2}", index, content, ScrollIndexCallback.GetUniqueID());
|
|
}
|
|
|
|
public override void RefreshUI(string ClickUniqueID, object ClickContent)
|
|
{
|
|
base.RefreshUI(ClickUniqueID, ClickContent);
|
|
|
|
if(GetUniqueID() == ClickUniqueID)
|
|
{
|
|
SetClickedColor(true);
|
|
}
|
|
else
|
|
{
|
|
SetClickedColor(false);
|
|
}
|
|
}
|
|
|
|
public void SetClickedColor(bool IsClicked)
|
|
{
|
|
if (IsClicked)
|
|
{
|
|
m_Button.image.color = Color.cyan;
|
|
}
|
|
else
|
|
{
|
|
m_Button.image.color = Color.white;
|
|
}
|
|
}
|
|
}
|
|
} |