public static void Exit(bool isHandler) { LuaCallMethod("Exit", isHandler, sceneData.id); // 战斗流程状态 War.processState = WarProcessState.Exit; // 关闭战斗结束面板 Coo.menuManager.CloseMenu(CC.Module.Menu.MenuType.BattleEnd); // 播放 War.Play(); // 退出战斗 进入主场景 Coo.menuManager.OpenMenu(MenuType.MainScene, 1); // 销毁战斗加载的资源 WarRes.Destroy(); War.Instance.Destory(); }
public static void Clear() { // 战斗流程状态--加载中 War.processState = WarProcessState.None; // EntityMBBehaviour是否运行Update War.isUpdateBehaviour = false; War.scene.MaskVisiable = false; War.manager.GetComponent <WarSceneDestory>().DestoryScene(); War.isUpdateBehaviour = true; War.soliderPool.Clear(); // 关闭战斗结束面板 Coo.menuManager.CloseMenu(CC.Module.Menu.MenuType.BattleEnd); }
public static void S_Over(WarOverData overData) { Debug.Log("S_Over"); // 战斗流程状态 War.processState = WarProcessState.GameOver; if (War.scene != null) { War.scene.MaskVisiable = true; manager.StartCoroutine(DelayOpenEndPanel(overData)); War.signal.DoGameOver(); } else { OpenEndPanel(overData); } }
public static void ResetStart() { // 战斗流程状态--加载中 War.processState = WarProcessState.GameOver; // EntityMBBehaviour是否运行Update War.isUpdateBehaviour = false; War.manager.GetComponent <WarSceneDestory>().DestoryScene(); // 战斗流程状态--生成数据 War.processState = WarProcessState.GenerateData; // 战斗已过时间 War.time = 0; // 生成战场数据 War.sceneData = new SceneDataForEnterData(); (War.sceneData as SceneDataForEnterData).Generation(enterData); War.isUpdateBehaviour = true; War.manager.BeginCreate(); War.scene.MaskVisiable = false; }
static IEnumerator OnOver() { yield return(new WaitForEndOfFrame()); yield return(new WaitForEndOfFrame()); // 战斗流程状态 War.processState = WarProcessState.GameOver; // 胜利条件 War.winManager.OnGameOver(); War.overType = War.winManager.GetGameOverType(); // War.scene.Pause(); War.scene.MaskVisiable = true; Debug.Log(string.Format("<color=gray>OnOver overType={0} War.vsmode={1}</color>", overType, War.vsmode)); // // EntityMBBehaviour是否运行Update // War.isUpdateBehaviour = true; // 播放星级评价 War.starPVPManager.OnGameOver(); War.starManager.OnGameOver(); }
void Update() { processState = War.processState; }
/// <summary> /// 进入战斗 /// </summary> /// <param name="enterData">进入战斗数据</param> public static void Start(WarEnterData enterData) { Debug.Log("进入战斗数据 enterData=" + enterData); if (War.isTest) { War.Clear(); } War.enterData = enterData; War.isRecord = enterData.isRecord; // 初始化 War.Init(); // 战斗流程状态--生成数据 War.processState = WarProcessState.GenerateData; // 对战模式 War.vsmode = enterData.vsmode; // 是否自动关闭加载面板 War.isAutoCloseLoad = !War.requireSynch; // 自己势力ID War.ownLegionID = enterData.ownLegionId; Debug.LogFormat("type====={0}", enterData.vsmode); // 战斗已过时间 War.time = 0; // 战斗环境配置--PC机是否开启PC操作模式 War.config.PCOperater = ConstConfig.GetInt(ConstConfig.ID.War_PCOperater) == 1; // 生成战场数据 War.sceneData = new SceneDataForEnterData(); (War.sceneData as SceneDataForEnterData).Generation(enterData); // 生成预加载资源 WarRes.GenerationPreloadList(); // 战斗流程状态--加载中 War.processState = WarProcessState.Loading; if (War.isEditor == false) { if (!War.isTest) { LoadType loadType = LoadType.None; switch (War.vsmode) { case VSMode.Dungeon: case VSMode.Train: loadType = LoadType.Scene_Dungeon; break; case VSMode.PVP: loadType = LoadType.Scene_PVP; break; case VSMode.PVE: case VSMode.PVE_Expedition: default: loadType = LoadType.Scene_Normal; break; } Coo.menuManager.OpenMenuBack(MenuType.WarScene, enterData.backMenuId, null, loadType); } } War.signal.GenerateDataComplete(); Debug.Log(" 战斗数据生成完毕 War.sGenerateDataComplete.Dispatch();"); LuaCallMethod("Start"); }