From 42e8bf4cf1ed3f5e249b7ae50e3cefca487652fc Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期三, 22 八月 2018 14:57:49 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/MainInterfacePanel/SideMission.cs |  132 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 120 insertions(+), 12 deletions(-)

diff --git a/System/MainInterfacePanel/SideMission.cs b/System/MainInterfacePanel/SideMission.cs
index 8c168cf..b9ec018 100644
--- a/System/MainInterfacePanel/SideMission.cs
+++ b/System/MainInterfacePanel/SideMission.cs
@@ -9,9 +9,11 @@
 using TableConfig;
 using System.Collections.Generic;
 //浠诲姟闈㈡澘鐨勬敮绾夸换鍔�
-namespace Snxxz.UI {
+namespace Snxxz.UI
+{
 
-    public class SideMission:MonoBehaviour {
+    public class SideMission : MonoBehaviour
+    {
         [SerializeField] ScrollerController _TaskRamusList;
         //鍙充晶闈㈡澘
         [SerializeField] Text _Text_TaskName;//浠诲姟鍚�
@@ -25,11 +27,15 @@
         PlayerTaskDatas taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>()); } }
         ItemTipsModel _itemTipsModel;
         ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>()); } }
+        PlayerPackModel _playerPack;
+        PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
+        PlayerMainDate m_MainModel;
+        PlayerMainDate mainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } }
         private List<RewardAnalysis.RewardInfo> rewardList = new List<RewardAnalysis.RewardInfo>();
         private int TaskIdNow = 0;
         private void Awake()
         {
-            
+
         }
         private void Start()
         {
@@ -39,25 +45,108 @@
         {
             TaskIdNow = 0;
             _TaskRamusList.OnRefreshCell += OnRefreshGridCell;
+            playerPack.RefreshItemCountAct += RefreshItemCountAct;
+            playerPack.ItemCntReduceAct += ItemCntReduceAct;
             OnCreateGridLineCell(_TaskRamusList);
         }
 
         private void OnDisable()
         {
             _TaskRamusList.OnRefreshCell -= OnRefreshGridCell;
+            playerPack.RefreshItemCountAct -= RefreshItemCountAct;
+            playerPack.ItemCntReduceAct -= ItemCntReduceAct;
+        }
+
+        private void ItemCntReduceAct(PackType arg1, int arg2, int arg3)
+        {
+            if (arg1 == PackType.rptItem && arg3 == mainModel.ItemID)
+            {
+                foreach (var key in taskmodel.SideQuestsDic.Keys)
+                {
+                    if (mainModel.TaskId_Skill1.Contains(key))
+                    {
+                        _TaskRamusList.m_Scorller.RefreshActiveCellViews();//鍒锋柊褰撳墠鍙
+                    }
+                }
+            }
+        }
+
+        private void RefreshItemCountAct(PackType arg1, int arg2, int arg3)
+        {
+            if (arg1 == PackType.rptItem && arg3 == mainModel.ItemID)
+            {
+                foreach (var key in taskmodel.SideQuestsDic.Keys)
+                {
+                    if (mainModel.TaskId_Skill1.Contains(key))
+                    {
+                        _TaskRamusList.m_Scorller.RefreshActiveCellViews();//鍒锋柊褰撳墠鍙
+                    }
+                }
+            }
         }
 
         private void ForwardButton()
         {
+            if (mainModel.TaskId_Skill1.Contains(TaskIdNow))
+            {
+                int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//鑾峰彇鐗规畩鐗╁搧
+                if (itemNumber >= mainModel.ItemNumber)
+                {
+                    taskmodel.CompletionOfTask(TaskIdNow);
+                    WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
+                }
+                else
+                {
+                    int Gold = (int)UIHelper.GetMoneyCnt(1);//浠欑帀
+                    int GoldPaper = (int)UIHelper.GetMoneyCnt(2);//缁戠帀
+                    string strNull = string.Empty;
+                    int needNumber = (mainModel.ItemNumber - itemNumber) * mainModel.UnitPrice;//鎵�闇�閲戦
+                    if (GoldPaper >= needNumber)
+                    {
+                        strNull = string.Format(Language.Get("PassiveSkillTask3"), needNumber);
+                    }
+                    else
+                    {
+                        strNull = string.Format(Language.Get("PassiveSkillTask4"), needNumber, GoldPaper, needNumber- GoldPaper);
+                    }
+                    ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), strNull, (bool isOk) =>
+                    {
+                       
+                        if (isOk)
+                        {
+                            if (Gold + GoldPaper >= needNumber)
+                            {
+                                taskmodel.CompletionOfTask(TaskIdNow);
+                                WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
+                            }
+                            else
+                            {
+                                if (VersionConfig.Get().isBanShu)
+                                {
+                                    SysNotifyMgr.Instance.ShowTip("GoldErr");
+                                    return;
+                                }
+                                WindowCenter.Instance.Open<RechargeTipWin>();
+                            }
+                        }                    
+                    });
+
+                }
+                return;
+            }
             if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3)
             {
                 taskmodel.CompletionOfTask(TaskIdNow);
+                if (mainModel.TaskId_Skill.Contains(TaskIdNow))
+                {
+                    WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
+                }
             }
             else
             {
                 _Text_TaskTarget.ExcuteHref();
             }
-            
+
             WindowCenter.Instance.CloseImmediately<TaskWin>();
             WindowCenter.Instance.Open<MainInterfaceWin>();
         }
@@ -92,17 +181,17 @@
                 var taskname = taskmodel.SideQuestsDic[TaskId].Name;
                 if (Config.Instance.Get<TASKINFOConfig>(taskname) == null)
                 {
-                    DebugEx.LogError("TASKINFO浠诲姟琛ㄦ牸娌℃湁鑾峰彇鍒拌浠诲姟鍚嶇О"+ taskname);
+                    DebugEx.LogError("TASKINFO浠诲姟琛ㄦ牸娌℃湁鑾峰彇鍒拌浠诲姟鍚嶇О" + taskname);
                     return;
                 }
-                sideMissionTitleBtton.TitleName.text= Config.Instance.Get<TASKINFOConfig>(taskname).show_writing;//浠诲姟鍚�
+                sideMissionTitleBtton.TitleName.text = Config.Instance.Get<TASKINFOConfig>(taskname).show_writing;//浠诲姟鍚�
                 if (!taskmodel.SideQuestsDic.ContainsKey(TaskId))
                 {
                     return;
                 }
                 sideMissionTitleBtton.Text_RamusState.text = GegionalTaskStatus(taskmodel.SideQuestsDic[TaskId].MissionState);
                 sideMissionTitleBtton.SideMissionTitleBtton1.RemoveAllListeners();
-                sideMissionTitleBtton.SideMissionTitleBtton1.AddListener(()=> 
+                sideMissionTitleBtton.SideMissionTitleBtton1.AddListener(() =>
                 {
                     if (TaskId != TaskIdNow)
                     {
@@ -122,24 +211,43 @@
             _Text_TaskName.text = Config.Instance.Get<TASKINFOConfig>(taskmodel.SideQuestsDic[taskID].Name).show_writing;//浠诲姟鍚�
             _Text_TaskDescribe.text = Config.Instance.Get<TASKINFOConfig>(taskmodel.SideQuestsDic[taskID].Desclist).show_writing;//浠诲姟鎻忚堪
             string strINfor = taskmodel.SideQuestsDic[taskID].InforList;
-            string str = Config.Instance.Get<TASKINFOConfig>(strINfor).show_writing;
+            string str = string.Empty;
+            if (mainModel.TaskId_Skill1.Contains(taskID))
+            {
+                int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//鑾峰彇鐗规畩鐗╁搧
+                if (itemNumber >= mainModel.ItemNumber)
+                {
+                    string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, mainModel.ItemNumber);
+                    str = Str_A;
+                }
+                else
+                {
+                    string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, itemNumber);
+                    str = Str_A;
+                }
+            }
+            else
+            {
+                str = Config.Instance.Get<TASKINFOConfig>(strINfor).show_writing;
+            }       
             str = WordAnalysis.Color_Start_Regex.Replace(str, string.Empty);
             str = WordAnalysis.Color_End_Regex.Replace(str, string.Empty);
             _Text_TaskTarget.text = str;//浠诲姟鐩爣
-            if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3)
+           
+            if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3 || mainModel.TaskId_Skill1.Contains(taskID))//鑳藉杩涜绔嬪嵆瀹屾垚鐨勬敮绾夸换鍔�
             {
-                _Text_Forward.text = string.Format(Language.Get("FinishAtOnce_Z")) ;
+                _Text_Forward.text = string.Format(Language.Get("FinishAtOnce_Z"));
             }
             else
             {
                 _Text_Forward.text = TaskStatus(taskmodel.SideQuestsDic[taskID].MissionState);
             }
-            
+
             if (taskmodel._DicTaskInformation.ContainsKey(taskID))
             {
                 _Text_TaskTarget.SetReplaceInfo(taskmodel._DicTaskInformation[taskID]);
             }
-          
+
             if (taskmodel.SideQuestsDic[taskID].RewardList == null)
             {
                 if (_Grid.childCount != 0)

--
Gitblit v1.8.0