UGUI添加监听后,你修改数据会触发监听,而监听会保存数据,
现在先做的是从数据还原UI,修改UI会触发监听,没有必要保存
即:
只有外部改变时才会触发监听,
还原数据、修改数据时不会触发监听
一个简单的思路,先移除,修改值,再监听
public Dropdown dropdown;
void Start()
{
dropdown.onValueChanged.AddListener(dropdownAddListener);
}
public void dropdownAddListener(int index)
{
print(index);
//do something
}
public bool isIgnore;
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
if (isIgnore)
{
dropdown.onValueChanged.RemoveListener(dropdownAddListener);
dropdown.value = 1;
dropdown.onValueChanged.AddListener(dropdownAddListener);
}
else
{
dropdown.value = 1;
}
}
}