UIToggle相关组件:
—–UIToggledObjects:通过toggle组件的value值来控制自定义的一些对象的开启关闭.—SetActive()
—–UIToggledComponents:通过toggle组件的value值来控制自定义的一些组件的开启关闭.—enable
适用:
分组toggle时,分别控制不同的对象,显示不同的东西.
原理解析:—–通过临时改变静态bool—UIToggle.current.value值,来调用UIToggle组件的onchange回调,回调为UIToggleObjects或者UIToggleComponents里的Toggle()方法.
特别注意:
这是临时改变的bool值,UIToggle.current.value与UIToggle组件的value值同步,控制所有toggle的value值.所以当临时改变时,修改后,一定要更改回来.
当隐藏组toggle对象时,再显示,会出现UIToggleObjects和UIToggleComponents组件的回调触发失效.
示例代码如下:
public UIToggle[] tg_Menus;
public UIToggledObjects[] tg_Objs;
public void Show(int id)
{
//tg_Menus[id].value = true;
if (!tg_Menus[id].value)
for (int i = 0; i < tg_Menus.Length; i++)
{
if (i == id)
{
tg_Menus[i].value = true;
UIToggle.current.value = true;
tg_Objs[i].Toggle();
}
else
{
UIToggle.current.value = false;
tg_Objs[i].Toggle();
}
}
UIToggle.current.value = true;
}