首页 > 手游开发 > Unity3D > Unity如何初始化自定义菜单的Checked状态
2021
08-21

Unity如何初始化自定义菜单的Checked状态

在开发中,为了能够快速启用或禁用某个SDK,我创建了一个菜单


    [MenuItem("SDK/GoogleSDK")]
    public static void GoogleSDK()
    {
        bool isEnableSDK= Menu.GetChecked("SDK/GoogleSDK");
        if (isEnableSDK)
        {
            // do sth
        }
        else
        {
            // do other sth
        }

        Menu.SetChecked("SDK/GoogleSDK", !isEnableByteDance);
    }

此时,我发现这个菜单没有初始化Checked的值,在打开Unity编辑器时默认是false,尽管SDK是启用的。所以,此种情况下就需要有个菜单初始化的函数
我创建了GoogleSDK_Validate函数,返回值类型为bool,其中MenuItem的第一个参数等同于你需要初始化的菜单项,第二个参数为true。添加这类验证函数后,Unity在绘制这个菜单之前会调用该函数,以达到初始化的效果。


    [MenuItem("SDK/GoogleSDK",true)]
    public static bool GoogleSDK_Validate()
    {
        bool isEnableSDK= true;

        Menu.SetChecked("SDK/GoogleSDK", !isEnableByteDance);
        return true;
    }
最后编辑:
作者:搬运工
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。