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);//隐藏掉该按钮 }); }