少年修仙传客户端代码仓库
3071 前端 骑宠争夺走到boss区域时,把左侧任务栏隐藏,显示boss信息面板(同时提交战斗模式切换)
4个文件已修改
123 ■■■■ 已修改文件
System/MainInterfacePanel/CombatModeWin.cs 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/HeadPortraitTip.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainInterfaceWin.cs 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/PlayerMainDate.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/CombatModeWin.cs
@@ -31,7 +31,10 @@
        PlayerBuffDatas m_BuffModel;
        PlayerBuffDatas Buffmodel { get { return m_BuffModel ?? (m_BuffModel = ModelCenter.Instance.GetModel<PlayerBuffDatas>()); } }
        PKModel m_PKModel;
        PKModel pKModel { get { return m_PKModel ?? (m_PKModel = ModelCenter.Instance.GetModel<PKModel>()); } }
        PKModel pKModel { get { return m_PKModel ?? (m_PKModel = ModelCenter.Instance.GetModel<PKModel>()); } }
        FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
        PlayerMainDate m_MainModel;
        PlayerMainDate onMainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } }
        protected override void BindController()
        {
            string PkStr = Config.Instance.Get<FuncConfigConfig>("PKText").Numerical1;
@@ -46,8 +49,8 @@
        protected override void OnPreOpen()
        {
            int MapID = PlayerDatas.Instance.baseData.MapID;
            var config = Config.Instance.Get<MapConfig>(MapID);
            AtkTypeList = pKModel.GetArea(config.AtkType).ToArray();
            var config = Config.Instance.Get<MapConfig>(MapID);
            AtkTypeList = pKModel.GetArea(config.AtkType).ToArray();
            _PkType = Buffmodel.PkType;//获取当前PK状态
            if (_PkType != 2)
            {
@@ -96,9 +99,21 @@
            else
                _PkButton.ElectImage.SetActive(false);
            TextSwitch(cell.index, _PkButton.Model, _PkButton.ContentText);
            _PkButton.StateSelection.RemoveAllListeners();
            _PkButton.StateSelection.RemoveAllListeners();
            bool IsBossBool = MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);//是否在Boss区域
            _PkButton.StateSelection.AddListener(() =>
            {
            {
                if (PlayerDatas.Instance.baseData.MapID == 10040 && IsBossBool)//御剑山庄boss区域特殊处理(可切换状态)
                {
                    DTCA202_tagMCAttackMode.Send_SwitchAttackMode((E_AttackMode)cell.index);
                    Close();
                    return;
                }
                if (onMainModel.ActivityList.Contains(PlayerDatas.Instance.baseData.MapID) && !fairyGrabBossModel.grabBossHintOpen)//再前四章新手地图且不在活动区域
                {
                    Close();//不允许切换
                    return;
                }
                DTCA202_tagMCAttackMode.Send_SwitchAttackMode((E_AttackMode)cell.index);
                Close();
            });
System/MainInterfacePanel/HeadPortraitTip.cs
@@ -61,6 +61,7 @@
        RolePromoteModel promoteModel { get { return m_PromoteModel ?? (m_PromoteModel = ModelCenter.Instance.GetModel<RolePromoteModel>()); } }
        CapacityDelayModel m_CapacityDelayModel;
        CapacityDelayModel capacityDelayModel { get { return m_CapacityDelayModel ?? (m_CapacityDelayModel = ModelCenter.Instance.GetModel<CapacityDelayModel>()); } }
        FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
        private int vipExperienceSurplusTime = 0;
        public void Init()
        {
@@ -198,7 +199,16 @@
            bool IsBossBool = MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);//是否在Boss区域
            if (atkInt.Length > 1)
            {
                if (PlayerDatas.Instance.baseData.MapID == 10040 && !IsBossBool)
                if (PlayerDatas.Instance.baseData.MapID == 10040 && IsBossBool)//御剑山庄boss区域特殊处理(可切换状态)
                {
                    WindowCenter.Instance.Open<CombatModeWin>();
                    if (WindowCenter.Instance.CheckOpen<FunctionForecastWin>())
                    {
                        WindowCenter.Instance.Close<FunctionForecastWin>();
                    }
                    return;
                }
                if (onMainModel.ActivityList.Contains(PlayerDatas.Instance.baseData.MapID) && !fairyGrabBossModel.grabBossHintOpen)//再前四章新手地图且不在活动区域
                {
                    SysNotifyMgr.Instance.ShowTip("Map_AtkType");
                    return;
System/MainInterfacePanel/MainInterfaceWin.cs
@@ -133,6 +133,7 @@
        TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
        DemonJarModel demonJarModel { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
        #region Built-in
        protected override void BindController()
@@ -217,7 +218,7 @@
            PlayerTaskDatas.CompletionOfTaskEvent += CompletionOfTaskEvent;
            RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent;
            NewBieCenter.Instance.guideBeginEvent += GuideBeginEvent;
            fairyGrabBossModel.bossGrabHintEvent += bossGrabHintEvent;
        }
        private void CompletionOfTaskEvent(int obj)
@@ -229,6 +230,7 @@
        protected override void OnActived()
        {
            m_HighSettingTip.OnActived();
            IsShowTaskPanel();//是否显示任务面板
        }
        IEnumerator Co_Load()
@@ -257,13 +259,11 @@
            var inDungeon = IsDungeon();
            if (inDungeon)
            {
                m_TaskAndTeamTip.SetActive(!inDungeon);
                m_FunctionForecastTip.gameObject.SetActive(false);
                if (WindowCenter.Instance.CheckOpen<FunctionForecastWin>())
                {
                    WindowCenter.Instance.Close<FunctionForecastWin>();
                }
                m_TaskSwithButton.gameObject.SetActive(false);
                if (mapId != PlayerDatas.Instance.baseData.MapID)
                {
                    CopyOfThePanel.localPosition = CopyOfThePosition2.localPosition;
@@ -324,15 +324,13 @@
                {
                    Event_Duplicates(true, CopyOfThePanelSpeed);
                }
                m_TaskAndTeamTip.SetActive(true);
                m_FunctionForecastTip.gameObject.SetActive(true);
                m_TaskSwithButton.gameObject.SetActive(true);
            }
            mapId = PlayerDatas.Instance.baseData.MapID;
            m_HighSettingTip.AfterOpen();
            m_ChatTip.OnAfterOpen();
            HandleAchievement();
        }
        protected override void OnPreClose()
@@ -372,6 +370,7 @@
            m_CollectBtn.RemoveAllListeners();
            GA_NpcCollect.OnArrive -= OnArriveCollectNPC;
            GA_NpcCollect.OnLeave -= OnLeaveCollectNpc;
            fairyGrabBossModel.bossGrabHintEvent -= bossGrabHintEvent;
            m_CollectBtn.gameObject.SetActive(false);
        }
@@ -463,6 +462,10 @@
                int mapID = PlayerDatas.Instance.baseData.MapID;
                var config = Config.Instance.Get<MapConfig>(mapID);
                int[] atkInt = pKModel.GetArea(config.AtkType).ToArray();
                if (onMainModel.ShieldedArea.Contains(PlayerDatas.Instance.baseData.MapID) || fairyGrabBossModel.grabBossHintOpen)
                {
                    return;
                }
                if (atkInt.Length > 1 && Buffmodel.PkType != 5)
                {
                    onMainModel.AreaState = Buffmodel.PkType;
@@ -1032,6 +1035,28 @@
            _MarkRay.gameObject.SetActive(false);
        }
        private void IsShowTaskPanel()//是否显示任务面板
        {
            var inDungeon = IsDungeon();
            if (inDungeon || fairyGrabBossModel.grabBossHintOpen)
            {
                m_TaskAndTeamTip.SetActive(false);
                m_TaskSwithButton.gameObject.SetActive(false);
            }
            else
            {
                m_TaskAndTeamTip.SetActive(true);
                m_TaskSwithButton.gameObject.SetActive(true);
            }
        }
        private void bossGrabHintEvent()
        {
            IsShowTaskPanel();
            if (!fairyGrabBossModel.grabBossHintOpen && Buffmodel.PkType != 0)
            {
                DTCA202_tagMCAttackMode.Send_SwitchAttackMode((E_AttackMode)0);
            }
        }
    }
}
System/MainInterfacePanel/PlayerMainDate.cs
@@ -105,6 +105,30 @@
    public int FlyShoseTaskID = 0;
    //--------获取玩家死亡状态
    public bool IsDead = false;
    //----------关于某些副本可以进行地图挂机
    public List<int> OneKeyList = new List<int>();
    //----------使用娲皇卷轴后的Buff表现
    public static event Action EmperorBuffEvent;
    public bool IsEmperor = false;
    //---------关于任务需要的数据
    public List<int> TaskId_Skill = new List<int>();
    public List<int> TaskId_Skill1 = new List<int>();
    public int ItemID = 0;
    public int UnitPrice = 0;
    public int ItemNumber = 0;
    public int TaskLv = 0;//任务等级
    //-----关于支线翅膀任务的特殊逻辑
    public int WingTask = 0;
    //------ 关于切线PK状态的特殊逻辑
    public List<int> ActivityList = new List<int>();
    public List<int> ShieldedArea = new List<int>();//需要屏蔽的地图区域
    public override void Init()
    {
        IsTipBool = true;
@@ -126,23 +150,18 @@
        GetPassiveSkillTask();
        var WingsTask = Config.Instance.Get<FuncConfigConfig>("WingsTask");
        WingTask = int.Parse(WingsTask.Numerical1);
        var ActivityListcon = Config.Instance.Get<FuncConfigConfig>("FairyGrabMapLine");
        int[] Activity_List = ConfigParse.GetMultipleStr<int>(ActivityListcon.Numerical1);
        for (int i = 0; i < Activity_List.Length; i++)
        {
            ActivityList.Add(Activity_List[i]);
        }
        ShieldedArea.Add(10010);
        ShieldedArea.Add(10020);
        ShieldedArea.Add(10030);
    }
    //----------关于某些副本可以进行地图挂机
    public List<int> OneKeyList = new List<int>();
    //----------使用娲皇卷轴后的Buff表现
    public static event Action EmperorBuffEvent;
    public bool IsEmperor = false;
    //---------关于任务需要的数据
    public List<int> TaskId_Skill = new List<int>();
    public List<int> TaskId_Skill1 = new List<int>();
    public int ItemID = 0;
    public int UnitPrice = 0;
    public int ItemNumber = 0;
    public int TaskLv = 0;//任务等级
    //-----关于支线翅膀任务的特殊逻辑
    public int WingTask = 0;
    private void GetPassiveSkillTask()//获取任务数据
    {
        TaskId_Skill.Clear();