static public void SetBattleMode(eBattleMode mode) //设置现在的战斗类型 { Debug.LogWarningFormat("SetBattleMode : {0}", mode); var old_battle_mode = BattleBase.CurrentBattleMode; //之前的战斗类型 BattleBase.CurrentBattleMode = mode; //设置现在的战斗状态 switch (mode) { case eBattleMode.Battle: case eBattleMode.BattleWorldboss: case eBattleMode.PVP: case eBattleMode.RVR: { Network.ShowIndicator(); Battle.scene_name = GetBattleSceneName(BattleBase.CurrentBattleMode); //得到当前场景的名字 UnityEngine.SceneManagement.SceneManager.LoadScene(Battle.scene_name, UnityEngine.SceneManagement.LoadSceneMode.Additive); //加载场景 } break; default: //默认的场景 { UnityEngine.SceneManagement.SceneManager.UnloadScene(GetBattleSceneName(old_battle_mode)); SoundManager.Instance.StopSound(); //Resources.UnloadUnusedAssets(); Instance.gameObject.SetActive(true); //不明白 if (Network.NewStageInfo != null && Network.TargetItemInfo == null || old_battle_mode == eBattleMode.BattleWorldboss) { Instance.BackMenu(); } else if (Network.PVPBattleInfo != null) { Network.PVPBattleInfo = null; GameMain.Instance.BackMenu(); } else { Instance.UpdateMenu(); } SoundManager.Instance.PlayBGM(m_BGMName); } break; } TimeManager.Instance.ResetTimeScale(); TimeManager.Instance.SetPause(false); ConfigData.Instance.RefreshSleep(); }
static public string GetBattleSceneName(eBattleMode mode) //根据现在的战斗 返回字符串 { switch (mode) { case eBattleMode.Battle: return("battle"); case eBattleMode.BattleWorldboss: return("battle_worldboss"); case eBattleMode.PVP: return("battle_pvp"); case eBattleMode.RVR: return("battle_rvr"); } return(""); }