少年修仙传客户端代码仓库
client_Wu Xijin
2019-01-07 e7a4883a9ab9b633a5810fbea84cbe0d71c788f9
5725 【前端】【1.5】跨服BOSS开发
3个文件已修改
69 ■■■■■ 已修改文件
System/CrossServerBoss/CrossServerBossModel.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerBoss/CrossServerBossWin.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerWin.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerBoss/CrossServerBossModel.cs
@@ -76,6 +76,7 @@
        FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
        DogzDungeonModel dogzDungeonModel { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        TeamModel teamModel { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
        public override void Init()
        {
@@ -101,6 +102,31 @@
        public bool CanEnter(out int error)
        {
            var mapId = PlayerDatas.Instance.baseData.MapID;
            var mapConfig = Config.Instance.Get<MapConfig>(mapId);
            if (mapConfig.MapFBType != (int)MapType.OpenCountry)
            {
                error = 1;
                return false;
            }
            if (teamModel.isMatching)
            {
                error = 2;
                return false;
            }
            if (teamModel.teamPrepare.isPreparing)
            {
                error = 3;
                return false;
            }
            if (CrossServerLogin.Instance.IsEnterCrossServerPreparing())
            {
                error = 4;
                return false;
            }
            error = 0;
            return true;
@@ -108,7 +134,18 @@
        public void ProcessEnterError(int error)
        {
            switch (error)
            {
                case 1:
                    SysNotifyMgr.Instance.ShowTip("InDungeon_CantGo");
                    break;
                case 2:
                    break;
                case 3:
                    break;
                case 4:
                    break;
            }
        }
        public void RequestExit()
System/CrossServerBoss/CrossServerBossWin.cs
@@ -109,7 +109,7 @@
        private void GotoKillBoss()
        {
            var error = 0;
            if (TestGotoKillBoss(out error))
            if ( model.CanEnter(out error) )
            {
                if (PlayerDatas.Instance.baseData.MapID == CrossServerBossModel.DATA_MAPID)
                {
@@ -139,32 +139,7 @@
            }
            else
            {
                ProcessGotoKillBossError(error);
            }
        }
        private bool TestGotoKillBoss(out int error)
        {
            var mapId = PlayerDatas.Instance.baseData.MapID;
            var mapConfig = Config.Instance.Get<MapConfig>(mapId);
            if (mapConfig.MapFBType != (int)MapType.OpenCountry)
            {
                error = 1;
                return false;
            }
            error = 0;
            return true;
        }
        private void ProcessGotoKillBossError(int _error)
        {
            switch (_error)
            {
                case 1:
                    SysNotifyMgr.Instance.ShowTip("InDungeon_CantGo");
                    break;
                model.ProcessEnterError(error);
            }
        }
System/CrossServerOneVsOne/CrossServerWin.cs
@@ -60,6 +60,7 @@
        private void ClickBossFunc()
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<CrossServerBossWin>();
        }
        private void ClickArenaFunc()