EnergyEfficiencyManagement/Assets/ZCalendar/LoopScrollRect-master/Samples/Demo/Scripts/ScrollIndexCallback_Custom.cs

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;
}
}
}
}