void OnLeave()
 {
     Main.Ins.GameStateMgr.SaveState();
     Main.Ins.GameBattleEx.Pause();
     Main.Ins.StopAllCoroutines();
     Main.Ins.SoundManager.StopAll();
     Main.Ins.BuffMng.Clear();
     Main.Ins.MeteorManager.Clear();
     OnBackPress();
     Main.Ins.ExitState(Main.Ins.FightState);
     if (GameOverlayDialogState.Exist())
     {
         GameOverlayDialogState.Instance.ClearSystemMsg();
     }
     //离开副本
     if (Main.Ins.CombatData.GLevelMode == LevelMode.MultiplyPlayer)
     {
         UdpClientProxy.LeaveLevel();
     }
     else
     {
         FrameReplay.Instance.OnDisconnected();
         U3D.GoBack();
     }
 }
    public void SetResult(int result)
    {
        if (result == 1)
        {
            for (int i = 0; i < Main.Ins.MeteorManager.UnitInfos.Count; i++)
            {
                if (Main.Ins.MeteorManager.UnitInfos[i].StateMachine != null)
                {
                    Main.Ins.MeteorManager.UnitInfos[i].StateMachine.Stop();
                }
                Main.Ins.MeteorManager.UnitInfos[i].controller.Input.ResetVector();
                Main.Ins.MeteorManager.UnitInfos[i].OnGameResult(result);
            }
        }

        if (Main.Ins.CombatData.GGameMode == GameMode.MENGZHU)
        {
            U3D.InsertSystemMsg("回合结束");
        }
        else
        {
            string mat = "";
            Text   txt;
            switch (result)
            {
            case -1:
            case 0:
                mat = "BattleLose";
                txt = Control("ButterflyWin").GetComponent <Text>();
                U3D.InsertSystemMsg("蝴蝶阵营 获胜");
                txt.text = "1";
                break;

            case 1:
            case 2:
                mat = "BattleWin";
                txt = Control("MeteorWin").GetComponent <Text>();
                U3D.InsertSystemMsg("流星阵营 获胜");
                txt.text = "1";
                break;

            case 3:
                mat = "BattleNone";
                U3D.InsertSystemMsg("和局");
                break;
            }
            BattleResult.GetComponent <Image>().material = Resources.Load <Material>(mat);
            BattleResult.SetActive(true);
            BattleTitle.SetActive(true);
        }
        Control("Close").SetActive(true);
        Control("Close").GetComponent <Button>().onClick.AddListener(() =>
        {
            Main.Ins.GameStateMgr.SaveState();
            Main.Ins.GameBattleEx.Pause();
            Main.Ins.StopAllCoroutines();
            Main.Ins.SoundManager.StopAll();
            Main.Ins.BuffMng.Clear();
            Main.Ins.MeteorManager.Clear();
            OnBackPress();
            Main.Ins.ExitState(Main.Ins.FightState);
            if (GameOverlayDialogState.Exist())
            {
                GameOverlayDialogState.Instance.ClearSystemMsg();
            }
            //离开副本
            if (Main.Ins.CombatData.GLevelMode == LevelMode.MultiplyPlayer)
            {
                UdpClientProxy.LeaveLevel();
            }
            else
            {
                FrameReplay.Instance.OnDisconnected();
                Main.Ins.PlayEndMovie(result == 1);
            }
        });
        Control("SaveRecord").SetActive(true);
        Control("SaveRecord").GetComponent <Button>().onClick.AddListener(() => {
            DialogUtils.Ins.OpenWait("正在保存录像,请稍后");
            //单独开一个线程去保存录像信息.
            RecordMgr.Ins.WriteFile();
            Control("SaveRecord").SetActive(false);//隐藏掉该按钮
        });
    }