如何在统一中进行独家切换?

How to have exclusive toggle in unity?

我找不到适合我需要的解决方案,所以这是我的问题。

我下载了一个资产,它提供了很多 现成组件,我使用 8 Toggles,但它们必须是独家,这是我在编辑器中的聊天记录:

首先,我想将脚本附加到每个开关,并使用一个函数在开关上启动 onAction 触发器时关闭每个按钮,然后仅打开启动触发器的开关 。但它不会起作用,因为关闭按钮启动也是 onAction 触发器,所以我进入 无限循环

有更好的工作方式吗?

您可以创建一个 class,其中包含所有切换 (GameObject.Find(name)) 作为成员,当您在切换脚本上调用 onAction 时,只需告诉 class 哪个切换按钮被按下。然后在 class 中更新图形用户界面并控制所有切换按钮

您需要使用ToogleGroup 一次只能打开1 个。 查看文档 here

public class Topic : MonoBehaviour
{

    public ToggleGroup Topiz;
      Toggle maybe1;

    // Use this for initialization
    void Start () 
    {

    }


    // Update is called once per frame
    void Update () 
    {
        maybe1 = Topiz.ActiveToggles().FirstOrDefault();

    }

}