示例#1
0
 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();
 }
示例#2
0
        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);
        }
示例#3
0
        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);
            }
        }
示例#4
0
        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;
        }
示例#5
0
        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();
        }
示例#6
0
 void Update()
 {
     processState = War.processState;
 }
示例#7
0
        /// <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");
        }