修改UGUI数值、忽略监听事件

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

 

你可能感兴趣的:(Unity基础,UGUI)