Unity Application.wantsToQuit

介绍:

最近有个小的需求,Win端需要在关闭的时候,弹出一个是否确认关闭的弹窗。效果图如下:
请添加图片描述

地址:

https://docs.unity3d.com/ScriptReference/Application-wantsToQuit.html

退出的时候回调的这个事件,只有返回true才会推出

使用:

public class PlayerWantsToQuitExample
{
    public static bool mIsQuit = false;
    private static Test mTest = null;
    static bool WantsToQuit()
    {
        //测试使用
        if (mTest == null)
        {
            mTest = Camera.main.gameObject.GetComponent<Test>();
        }
        //调用自己弹窗逻辑
        mTest.Show(() =>
        {
            mIsQuit = true;
            //主动调用退出
            Application.Quit();
        }, () =>
        {
            mIsQuit = false;
        });
        return mIsQuit;
    }

    [RuntimeInitializeOnLoadMethod]
    static void RunOnStart()
    {
        Application.wantsToQuit += WantsToQuit;
    }
}

注意:

需要注意的是这个无论返回true还是false, 所有MonoBehaviour 下 OnApplicationQuit()这个方法都会调用,所以有用到这个方法且有其他逻辑处理时需要注意。请添加图片描述
可以添加一个标记来判断

  protected void OnApplicationQuit()
    {
    if (!PlayerWantsToQuitExample.mIsQuit)
            return;
        Debug.Log("OnApplicationQuit");
    }

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值