记录一个监听变量变化的事件类。
定义类:
public class EventListener<T> //事件监听参数类***
{
public delegate void OnValueChangeDelegate(T newVal);
public event OnValueChangeDelegate OnVariableChange;
private T m_value;
public T Value
{
get
{
return m_value;
}
set
{
if (m_value.Equals(value)) return;
if (OnVariableChange != null)
OnVariableChange(m_value);
m_value = value;
}
}
}
EventListener<int> listenerTest;
void Start()
{
listenerTest = new EventListener<int>();
listenerTest.OnVariableChange += Test;
}
private void Test(int value)
{
MaterialIndex = 0;
LinkCount = 0;
Debug.Log("ChangeNum changed");
}
listenerTest.Value = ChangeNum; //num参数变化发送信息并复MaterialIndex值