少年修仙传客户端代码仓库
client_linchunjie
2018-08-23 522ca3468a56c88cb15eaa428eb7499d3dba386f
System/MainInterfacePanel/FlyingShoesTask.cs
@@ -120,36 +120,30 @@
            m_ImgSelected.SetActive(true);
            taskmodel.GetNowTaskID = Task_ID;
            if (mainModel.TaskId_Skill1.Contains(Task_ID))
            {
                int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品
                if (itemNumber >= mainModel.ItemNumber)
                {
                    taskmodel.CompletionOfTask(Task_ID);
                    WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
                }
                else
                {
                    StateDetermination();
                    var mapModel = ModelCenter.Instance.GetModel<MapModel>();
                    var point = mapModel.GetRecommendHangPoint();
                    var config = Config.Instance.Get<MapEventPointConfig>(point);
                    MapTransferUtility.Instance.MoveToNPC(config.NPCID);
                }
                return;
            }
            switch ((int)taskmodel.GetTaskStatus(Task_ID))
            {
                case -5:
                case 0:
                    DropItemManager.StopMissionPickup = true;//主动停止拾取物品
                    if (PlayerDatas.Instance.extersion.bossState == 1)
                    {
                        string strNpc = string.Empty;
                        strNpc = ContentText.GetHrefMessage("movenpc");
                        int npcId = 0;
                        int mapID = PlayerDatas.Instance.baseData.MapID;
                        if (int.TryParse(strNpc, out npcId))
                        {
                            var npcConfig = Config.Instance.GetAllValues<mapnpcConfig>();
                            foreach (var value in npcConfig)
                            {
                                if (value.NPCID == npcId && value.MapID != mapID)
                                {
                                    SysNotifyMgr.Instance.ShowTip("Task_Transfer1");
                                    return;
                                }
                            }
                            var MonsterConfig = Config.Instance.Get<MonsterRefreshPointConfig>(npcId);
                            if (MonsterConfig != null && MonsterConfig.MapId != mapID)
                            {
                                SysNotifyMgr.Instance.ShowTip("Task_Transfer1");
                                return;
                            }
                        }
                    }
                    StateDetermination();
                    ContentText.ExcuteHref();
                    OpenPanel(Task_ID);
                    break;
@@ -202,12 +196,49 @@
                    break;
                case 3:
                    taskmodel.CompletionOfTask(Task_ID);
                    if (mainModel.TaskId_Skill.Contains(Task_ID))
                    {
                        WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
                    }
                    break;
                default:
                    break;
            }
        }
        private void StateDetermination()//状态判定
        {
            DropItemManager.StopMissionPickup = true;//主动停止拾取物品
            if (PlayerDatas.Instance.extersion.bossState == 1)
            {
                string strNpc = string.Empty;
                strNpc = ContentText.GetHrefMessage("movenpc");
                int npcId = 0;
                int mapID = PlayerDatas.Instance.baseData.MapID;
                if (int.TryParse(strNpc, out npcId))
                {
                    var npcConfig = Config.Instance.GetAllValues<mapnpcConfig>();
                    foreach (var value in npcConfig)
                    {
                        if (value.NPCID == npcId && value.MapID != mapID)
                        {
                            SysNotifyMgr.Instance.ShowTip("Task_Transfer1");
                            return;
                        }
                    }
                    var MonsterConfig = Config.Instance.Get<MonsterRefreshPointConfig>(npcId);
                    if (MonsterConfig != null && MonsterConfig.MapId != mapID)
                    {
                        SysNotifyMgr.Instance.ShowTip("Task_Transfer1");
                        return;
                    }
                }
            }
        }
        private void OnClickDeliveryButton()//传送符
        {
            mainModel.FlyShoseTaskID = Task_ID;
@@ -291,18 +322,46 @@
            {
                m_TitleText.text = "<color=#ec4bf6>" + TaskTitle(TaskID) + "</color>";
            }
            int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品
            if (mainModel.TaskId_Skill1.Contains(TaskID))
            {
                if (itemNumber >= mainModel.ItemNumber)
                {
                    m_TitleText.text = "<color=#109d06>" + TaskTitle(TaskID) + "</color>";
                }
                else
                {
                    m_TitleText.text = "<color=#feed28>" + TaskTitle(TaskID) + "</color>";
                }
            }
            string str = taskmodel.allMissionDict[TaskID].InforList;
            var taskinfo = Config.Instance.Get<TASKINFOConfig>(str);
            if (taskinfo != null)
            if (mainModel.TaskId_Skill1.Contains(TaskID))//特殊任务
            {
                m_ContentText.text = taskinfo.show_writing;
                string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, itemNumber);
                string Str_B = Language.Get("PassiveSkillTask2");
                if (itemNumber >= mainModel.ItemNumber)
                {
                    m_ContentText.text = Str_B;
                }
                else
                {
                    m_ContentText.text = Str_A;
                }
            }
            else
            {
                DebugEx.LogError("任务表格PyTaskInfo配置缺失");
                return;
            }
                if (taskinfo != null)
                {
                    m_ContentText.text = taskinfo.show_writing;
                }
                else
                {
                    DebugEx.LogError("任务表格PyTaskInfo配置缺失");
                    return;
                }
            }
            bool isOPenTransferButton = HrefAnalysis.Inst.ContainsKey(taskinfo.show_writing, "flynpc");
            if (isOPenTransferButton && !IsKaJiBool)
            {