网上很多人在没有测试的情况的下瞎掰,真的是耽误别人时间。
这篇的前景是Unity在安卓端、ios、PC分别使用Sqlite数据库存储数据(这里我用来实现游戏的暂存):寒假找了个线上实习,有一个功能就是要游戏暂存,这是个消除游戏,没必要每一步都去操作数据库,我们只需要在用户退出时记录即可,并且我们需要根据退出的时机决定某些流程(因为这个游戏还有引导界面,游戏局数的控制),用户退出有几种情况:
1.用户直接后台杀死应用
2.用户通过退出(Application.Quit)退出
3.应用被非用户原因强制退出
我的版本是unity2019.3.14
这几种情况在代码中体现:不必在乎逻辑代码,当然你可以结合上面链接的代码看看
private void Update()
{
//检测用户主动退出:
if (Input.GetKey(KeyCode.Escape))
{
MyEventCenter.Broadcast(EventType.ShowQuitPanel);//用来弹出询问是否退出的界面
}
}
private bool isPause;
//这个是用来检测玩家后台关闭应用(移动端)
private void OnApplicationPause(bool pause)
{
if (pause) //后台杀死了应用
{
isPause = true;
switch (CurrentState)
{
case GameState.Guide:
PlayerPrefs.DeleteKey("GameCount")