From f8d35bbf09d67fdff214aa824d13a0dca613a91e Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期四, 13 九月 2018 19:53:25 +0800
Subject: [PATCH] 3549 【前端】【1.0.15】【主干】开服红包优化

---
 System/MainInterfacePanel/FlyingShoesTask.cs |  139 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 116 insertions(+), 23 deletions(-)

diff --git a/System/MainInterfacePanel/FlyingShoesTask.cs b/System/MainInterfacePanel/FlyingShoesTask.cs
index 66291d4..6fbc547 100644
--- a/System/MainInterfacePanel/FlyingShoesTask.cs
+++ b/System/MainInterfacePanel/FlyingShoesTask.cs
@@ -121,19 +121,59 @@
 
             taskmodel.GetNowTaskID = Task_ID;
 
-            if (mainModel.TaskId_Skill1.Contains(Task_ID))
+            if (mainModel.TaskId_Skill1.Contains(Task_ID))//鐗规畩鏀嚎浠诲姟瑙i攣琚姩鎶�鑳界殑
             {
-                int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//鑾峰彇鐗规畩鐗╁搧
-                if (itemNumber >= mainModel.ItemNumber)
+                if (PlayerDatas.Instance.baseData.LV >= mainModel.TaskLv)
                 {
-                    taskmodel.CompletionOfTask(Task_ID);
-                    WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
+
+                    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);
+                    }
                 }
                 else
                 {
-                    StateDetermination();
-                    ContentText.ExcuteHref();
+                    WindowCenter.Instance.Open<HoistingWin>();
                 }
+                return;
+            }
+            if (mainModel.WingTask == Task_ID && ((int)taskmodel.GetTaskStatus(Task_ID) == 0 || (int)taskmodel.GetTaskStatus(Task_ID) == -5))//鍏充簬鐗规畩缈呰唨浠诲姟
+            {
+                if (playerPack.GetSinglePackModel(PackType.rptItem) == null)
+                {
+                    WindowCenter.Instance.Open<WingTaskJumpWin>();
+                    return;
+                }
+                Dictionary<int, ItemModel> BackpackDic = playerPack.GetSinglePackModel(PackType.rptItem).GetPackModelIndexDict();
+                if (BackpackDic == null)
+                {
+                    WindowCenter.Instance.Open<WingTaskJumpWin>();
+                    return;
+                }
+                else
+                {
+                    int job = PlayerDatas.Instance.baseData.Job;
+                    foreach (var key in BackpackDic.Keys)
+                    {
+                        ItemModel ItemM = BackpackDic[key];
+                        if (ItemM.chinItemModel.Type == 111 && ItemM.chinItemModel.ExpireTime == 0 && ItemM.chinItemModel.JobLimit / 100 == job)
+                        {
+                            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.KnapSackFunc1Type2);//璺冲埌鑳屽寘
+                            return;
+                        }
+                    }
+                }
+                WindowCenter.Instance.Open<WingTaskJumpWin>();
                 return;
             }
             switch ((int)taskmodel.GetTaskStatus(Task_ID))
@@ -203,6 +243,8 @@
             }
         }
 
+
+
         private void StateDetermination()//鐘舵�佸垽瀹�
         {
             DropItemManager.StopMissionPickup = true;//涓诲姩鍋滄鎷惧彇鐗╁搧
@@ -236,6 +278,25 @@
 
         private void OnClickDeliveryButton()//浼犻�佺
         {
+            //--------------鐗规畩浠诲姟鐨勪紶閫侀�昏緫
+            if (mainModel.TaskId_Skill1.Contains(Task_ID))
+            {
+                var mapModel = ModelCenter.Instance.GetModel<MapModel>();
+                var point = mapModel.GetRecommendHangPoint();
+                var config = Config.Instance.Get<MapEventPointConfig>(point);
+
+                var flyBootOwn = ModelCenter.Instance.GetModel<PlayerPackModel>().GetItemCountByID(PackType.rptItem, GeneralConfig.Instance.flyBootItemId);
+                var isVipFreeTransfer = ModelCenter.Instance.GetModel<VipModel>().GetVipPrivilegeCnt(VipPrivilegeType.FreeTransfer) > 0;
+                if (isVipFreeTransfer || flyBootOwn > 0)
+                {
+                    MapTransferUtility.Instance.MissionFlyTo(config.MapID, config.NPCID);
+                }
+                else
+                {
+                    MapTransferUtility.Instance.MoveToNPC(config.NPCID);
+                }
+                return;
+            }
             mainModel.FlyShoseTaskID = Task_ID;
             string _FlyID = Config.Instance.Get<FuncConfigConfig>("TransportPay").Numerical1;
             int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, int.Parse(_FlyID));//鑾峰彇椋為瀷鐨勬暟閲�
@@ -256,6 +317,8 @@
                     int NeedMoney = (int)UIHelper.GetMoneyCnt(1) + (int)UIHelper.GetMoneyCnt(2);
                     if (NeedMoney >= 1)
                     {
+
+
                         m_ContentText.ExcuteHref(1);
                     }
                     else
@@ -273,20 +336,20 @@
             }
 
         }
+
+
+
         public void FlyingShoes_Task(int TaskID)
         {
             Task_ID = TaskID;
             TypeAssignment();
-            if (TaskID == taskmodel.GetNowTaskID)
+            for (int i = 0; i < m_parent.childCount; i++)
             {
-                m_ImgSelected.SetActive(true);
-                for (int i = 0; i < m_parent.childCount; i++)
+                int taskID1 = m_parent.GetChild(i).GetComponent<TaskType>().TaskID;
+                m_parent.GetChild(i).GetComponent<FlyingShoesTask>().ImgSelected.SetActive(false);
+                if (taskID1 == taskmodel.GetNowTaskID)
                 {
-                    int taskID1 = m_parent.GetChild(i).GetComponent<TaskType>().TaskID;
-                    if (TaskID != taskID1)
-                    {
-                        m_parent.GetChild(i).GetComponent<FlyingShoesTask>().ImgSelected.SetActive(false);
-                    }
+                    m_parent.GetChild(i).GetComponent<FlyingShoesTask>().ImgSelected.SetActive(true);
                 }
             }
             m_DeliveryButton.gameObject.SetActive(true);
@@ -317,20 +380,39 @@
             {
                 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 (mainModel.TaskId_Skill1.Contains(TaskID))//鐗规畩浠诲姟
             {
-                int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//鑾峰彇鐗规畩鐗╁搧
-                string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, itemNumber);
-                string Str_B = Language.Get("PassiveSkillTask2");
-                if (itemNumber >= mainModel.ItemNumber)
+                if (PlayerDatas.Instance.baseData.LV >= mainModel.TaskLv)
                 {
-                    m_ContentText.text = Str_B;
+                    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
                 {
-                    m_ContentText.text = Str_A;
+                    string Str_C = string.Format(Language.Get("PassiveSkillTask5"), mainModel.TaskLv);
+                    m_ContentText.text = Str_C;
                 }
             }
             else
@@ -344,7 +426,7 @@
                     DebugEx.LogError("浠诲姟琛ㄦ牸PyTaskInfo閰嶇疆缂哄け");
                     return;
                 }
-            }          
+            }
             bool isOPenTransferButton = HrefAnalysis.Inst.ContainsKey(taskinfo.show_writing, "flynpc");
             if (isOPenTransferButton && !IsKaJiBool)
             {
@@ -354,7 +436,18 @@
             {
                 m_DeliveryButton.gameObject.SetActive(false);
             }
-
+            //----------------鐗规畩閲囬泦榄斿洟浠诲姟鐨勪紶閫佷簯澶勭悊 
+            if (mainModel.TaskId_Skill1.Contains(TaskID))//鐗规畩浠诲姟
+            {
+                if (PlayerDatas.Instance.baseData.LV >= mainModel.TaskLv)
+                {
+                    m_DeliveryButton.gameObject.SetActive(true);
+                }
+                else
+                {
+                    m_DeliveryButton.gameObject.SetActive(false);
+                }
+            }
             m_ContentText.raycastTarget = false;
 
             if (taskmodel._DicTaskInformation.ContainsKey(TaskID))

--
Gitblit v1.8.0