少年修仙传客户端代码仓库
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 = ConfigManager.Instance.GetAllValues<mapnpcConfig>();
                            foreach (var value in npcConfig)
                            {
                                if (value.NPCID == npcId && value.MapID != mapID)
                                {
                                    SysNotifyMgr.Instance.ShowTip("Task_Transfer1");
                                    return;
                                }
                            }
                            var MonsterConfig = ConfigManager.Instance.GetTemplate<MonsterRefreshPointConfig>(npcId);
                            if (MonsterConfig != null && MonsterConfig.MapId != mapID)
                            {
                                SysNotifyMgr.Instance.ShowTip("Task_Transfer1");
                                return;
                            }
                        }
                    }
                    StateDetermination();
                    ContentText.ExcuteHref();
                    OpenPanel(Task_ID);
                    break;
@@ -158,7 +152,7 @@
                    if (FabaoDic.ContainsKey(Task_ID))
                    {
                        var _treasureId = FabaoDic[Task_ID];
                        var treasureConfig = ConfigManager.Instance.GetTemplate<TreasureConfig>(_treasureId);
                        var treasureConfig = Config.Instance.Get<TreasureConfig>(_treasureId);
                        treasureModel.currentCategory = (TreasureCategory)treasureConfig.Category;
                        WindowCenter.Instance.Close<MainInterfaceWin>();
                        var _unlockTreasure = treasureModel.GetTreasureUnlockShow(treasureModel.currentCategory);
@@ -176,11 +170,11 @@
                        return;
                    }
                    var tasklistconfig = ConfigManager.Instance.GetTemplate<TaskListConfig>(Task_ID);
                    var tasklistconfig = Config.Instance.Get<TaskListConfig>(Task_ID);
                    if (tasklistconfig != null)
                    {
                        var _treasureId = tasklistconfig.FabaoID;
                        var treasureConfig = ConfigManager.Instance.GetTemplate<TreasureConfig>(_treasureId);
                        var treasureConfig = Config.Instance.Get<TreasureConfig>(_treasureId);
                        treasureModel.currentCategory = (TreasureCategory)treasureConfig.Category;
                        WindowCenter.Instance.Close<MainInterfaceWin>();
                        var _unlockTreasure = treasureModel.GetTreasureUnlockShow(treasureModel.currentCategory);
@@ -202,16 +196,53 @@
                    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;
            string _FlyID = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("TransportPay").Numerical1;
            string _FlyID = Config.Instance.Get<FuncConfigConfig>("TransportPay").Numerical1;
            int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, int.Parse(_FlyID));//获取飞鞋的数量
            mainModel.IsSelfMotionTask = false;
            if (ModelCenter.Instance.GetModel<VipModel>().GetVipPrivilegeCnt(VipPrivilegeType.FreeTransfer) > 0)
@@ -291,18 +322,46 @@
            {
                m_TitleText.text = "<color=#ec4bf6>" + TaskTitle(TaskID) + "</color>";
            }
            string str = taskmodel.allMissionDict[TaskID].InforList;
            var taskinfo = ConfigManager.Instance.GetTemplate<TASKINFOConfig>(str);
            if (taskinfo != null)
            int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品
            if (mainModel.TaskId_Skill1.Contains(TaskID))
            {
                m_ContentText.text = taskinfo.show_writing;
                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 (mainModel.TaskId_Skill1.Contains(TaskID))//特殊任务
            {
                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
            {
                DesignDebug.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)
            {
@@ -349,7 +408,7 @@
            if (taskmodel.BountyDic.ContainsKey(TaskID) || taskmodel.FairyAuDic.ContainsKey(TaskID))
            {
                var config = ConfigManager.Instance.GetTemplate<TASKINFOConfig>(str);
                var config = Config.Instance.Get<TASKINFOConfig>(str);
                if (config != null)
                {
                    var progress = 0;
@@ -369,7 +428,7 @@
                }
                else
                {
                    DesignDebug.LogError("任务表格PyTaskInfo配置缺失");
                    DebugEx.LogError("任务表格PyTaskInfo配置缺失");
                }
            }
        }
@@ -377,10 +436,10 @@
        private string TaskTitle(int taskID)
        {
            var config = ConfigManager.Instance.GetTemplate<TASKINFOConfig>(taskmodel.allMissionDict[taskID].Name);
            var config = Config.Instance.Get<TASKINFOConfig>(taskmodel.allMissionDict[taskID].Name);
            if (config == null)
            {
                DesignDebug.LogError("任务表格PyTaskInfo配置缺失");
                DebugEx.LogError("任务表格PyTaskInfo配置缺失");
                return null;
            }
            string taskName = config.show_writing;
@@ -446,11 +505,11 @@
        {
            if (MainlineTaskType.Count == 0)
            {
                var RunTaskCntStr = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("RunTaskCnt");
                var RunTaskCntStr = Config.Instance.Get<FuncConfigConfig>("RunTaskCnt");
                RunTaskCnt1 = ConfigParse.GetDic<int, int>(RunTaskCntStr.Numerical1);
                RunTaskCnt2 = ConfigParse.GetDic<int, int>(RunTaskCntStr.Numerical2);
                var MainlineTaskTypeList = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("MainlineTaskType");
                var MainlineTaskTypeList = Config.Instance.Get<FuncConfigConfig>("MainlineTaskType");
                int[] strMainlineTaskType = ConfigParse.GetMultipleStr<int>(MainlineTaskTypeList.Numerical1);//主线 
                string[] strMainlineTaskType1 = ConfigParse.GetMultipleStr(MainlineTaskTypeList.Numerical2);//主线 
                for (int i = 0; i < strMainlineTaskType.Length; i++)
@@ -459,7 +518,7 @@
                    MainlineTaskTypekey.Add(strMainlineTaskType1[i]);
                }
                var SideQuestsTypeList = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("SideQuestsType");
                var SideQuestsTypeList = Config.Instance.Get<FuncConfigConfig>("SideQuestsType");
                int[] strSideQuestsType = ConfigParse.GetMultipleStr<int>(SideQuestsTypeList.Numerical1);//支线 
                string[] strSideQuestsType1 = ConfigParse.GetMultipleStr(SideQuestsTypeList.Numerical2);//支线 
                for (int i = 0; i < strSideQuestsType.Length; i++)
@@ -468,7 +527,7 @@
                    SideQuestsTypeKey.Add(strSideQuestsType1[i]);
                }
                var BountyMissionsTypeList = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("BountyMissionsType");
                var BountyMissionsTypeList = Config.Instance.Get<FuncConfigConfig>("BountyMissionsType");
                int[] strBountyMissionsType = ConfigParse.GetMultipleStr<int>(BountyMissionsTypeList.Numerical1);//赏金    
                string[] strBountyMissionsType1 = ConfigParse.GetMultipleStr(BountyMissionsTypeList.Numerical2);//赏金    
                for (int i = 0; i < strBountyMissionsType.Length; i++)
@@ -477,7 +536,7 @@
                    BountyMissionsTypeKey.Add(strBountyMissionsType1[i]);
                }
                var FairyAuMissionTypeList = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("FairyAuMissionType");
                var FairyAuMissionTypeList = Config.Instance.Get<FuncConfigConfig>("FairyAuMissionType");
                int[] strFairyAuMissionType = ConfigParse.GetMultipleStr<int>(FairyAuMissionTypeList.Numerical1);//仙盟
                string[] strFairyAuMissionType1 = ConfigParse.GetMultipleStr(FairyAuMissionTypeList.Numerical2);//仙盟
                for (int i = 0; i < strFairyAuMissionType.Length; i++)
@@ -485,12 +544,12 @@
                    FairyAuMissionType.Add(strFairyAuMissionType[i]);
                    FairyAuMissionTypeKey.Add(strFairyAuMissionType1[i]);
                }
                int[] strTranscript = ConfigParse.GetMultipleStr<int>(ConfigManager.Instance.GetTemplate<FuncConfigConfig>("FBTaskColor").Numerical1);//赏金副本
                int[] strTranscript = ConfigParse.GetMultipleStr<int>(Config.Instance.Get<FuncConfigConfig>("FBTaskColor").Numerical1);//赏金副本
                for (int i = 0; i < strTranscript.Length; i++)
                {
                    TranscriptTask.Add(strTranscript[i]);
                }
                var DemonMissionTypeList1 = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("DemonMissionType");
                var DemonMissionTypeList1 = Config.Instance.Get<FuncConfigConfig>("DemonMissionType");
                int[] DemonMissionType = ConfigParse.GetMultipleStr<int>(DemonMissionTypeList1.Numerical1);//魔族法宝
                string[] DemonMissionType1 = ConfigParse.GetMultipleStr(DemonMissionTypeList1.Numerical2);//魔族法宝
                for (int i = 0; i < DemonMissionType.Length; i++)
@@ -501,7 +560,7 @@
            }
            if (FabaoDic.Count == 0)
            {
                FabaoDic = ConfigParse.GetDic<int, int>(ConfigManager.Instance.GetTemplate<FuncConfigConfig>("MozhuTaskID").Numerical1);
                FabaoDic = ConfigParse.GetDic<int, int>(Config.Instance.Get<FuncConfigConfig>("MozhuTaskID").Numerical1);
            }
        }