From 73ff3d4d816ee35c15ad951af13cb9dfd85f4ca2 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期三, 24 四月 2019 11:44:45 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Treasure/TreasureCollectBriefInfoBehaviour.cs |   22 +++++++++++
 System/MainInterfacePanel/TaskModel.cs               |   10 +++++
 Fight/ClientCollectUtility.cs                        |   24 ++++++++---
 System/FairyAu/FairyAuTaskWin.cs                     |   16 ++++----
 System/MainInterfacePanel/FlyingShoesTask.cs         |   25 ------------
 5 files changed, 57 insertions(+), 40 deletions(-)

diff --git a/Fight/ClientCollectUtility.cs b/Fight/ClientCollectUtility.cs
index 53c6d9b..4acdc5f 100644
--- a/Fight/ClientCollectUtility.cs
+++ b/Fight/ClientCollectUtility.cs
@@ -110,11 +110,19 @@
                 if (_list != null)
                 {
                     _list.Sort((a1, a2) =>
-                                    {
-                                        var _d1 = MathUtility.DistanceSqrtXZ(a1.Pos, _hero.Pos);
-                                        var _d2 = MathUtility.DistanceSqrtXZ(a2.Pos, _hero.Pos);
-                                        return _d2 < _d1 ? 1 : -1;
-                                    });
+                    {
+                        var _d1 = MathUtility.DistanceSqrtXZ(a1.Pos, _hero.Pos);
+                        var _d2 = MathUtility.DistanceSqrtXZ(a2.Pos, _hero.Pos);
+                        if (_d1 > _d2)
+                        {
+                            return 1;
+                        }
+                        else if (_d1 < _d2)
+                        {
+                            return -1;
+                        }
+                        return 0;
+                    });
 
                     foreach (var _a in _list)
                     {
@@ -123,8 +131,10 @@
                             continue;
                         }
 
-                        _npc = _a as GA_NpcClientCollect;
-                        break;
+                        if (_npc == null)
+                        {
+                            _npc = _a as GA_NpcClientCollect;
+                        }
                     }
                 }
             }
diff --git a/System/FairyAu/FairyAuTaskWin.cs b/System/FairyAu/FairyAuTaskWin.cs
index 1df1a89..edf6469 100644
--- a/System/FairyAu/FairyAuTaskWin.cs
+++ b/System/FairyAu/FairyAuTaskWin.cs
@@ -284,13 +284,13 @@
 
         void FairyAuTask(int _taskID)//浠欑洘浠诲姟
         {
-            if (TaskAllocation.Instance.FairyAuNumber() >= 10)
+            if (TaskAllocation.Instance.FairyAuNumber() >= taskmodel.FairyAuTaskCount_Round)
             {
                 Btn_Leave.gameObject.SetActive(false);
                 int total = TaskAllocation.Instance.FairyAuAllNumber();
                 total = Mathf.CeilToInt((float)total / 10);
                 RoundText_L.text = Language.Get("FairyAuTaskWin_Text3", SetNumberOfRounds(total));
-                RoundText_R.text = Language.Get("FairyAuTaskWin_Text4", 10);
+                RoundText_R.text = Language.Get("FairyAuTaskWin_Text4", taskmodel.FairyAuTaskCount_Round);
                 Btn_Finish.gameObject.SetActive(false);
             }
             else
@@ -298,13 +298,13 @@
                 Btn_Leave.gameObject.SetActive(true);
                 Btn_Finish.gameObject.SetActive(true);
                 int total = TaskAllocation.Instance.FairyAuAllNumber();
-                total = Mathf.CeilToInt((float)total / 10);
+                total = Mathf.CeilToInt((float)total / taskmodel.FairyAuTaskCount_Round);
                 RoundText_L.text = Language.Get("FairyAuTaskWin_Text3", SetNumberOfRounds(total));
                 RoundText_R.text = Language.Get("FairyAuTaskWin_Text4", (TaskAllocation.Instance.FairyAuNumber() + 1));
             }
-            Text_FinishRound.text = TaskAllocation.Instance.FairyAuAllNumber() + "/70";
+            Text_FinishRound.text = string.Format("{0}/{1}", TaskAllocation.Instance.FairyAuAllNumber(), taskmodel.FairyAuTaskCount_Day);
 
-            m_Slider.value = (((float)TaskAllocation.Instance.FairyAuAllNumber()) / 70);
+            m_Slider.value = (((float)TaskAllocation.Instance.FairyAuAllNumber()) / taskmodel.FairyAuTaskCount_Day);
 
             string strINfor = taskmodel.FairyAuDic[_taskID].InforList;
             TaskID = _taskID;
@@ -324,7 +324,7 @@
             Btn_Leave.gameObject.SetActive(true);
             RoundText_L.text = Language.Get("FairyAuTaskWin_Text3", SetNumberOfRounds(0));
             RoundText_R.text = Language.Get("FairyAuTaskWin_Text4", 0);
-            Text_FinishRound.text = "0/70";
+            Text_FinishRound.text = string.Format("0/{0}", taskmodel.FairyAuTaskCount_Day);
             m_Slider.value = 0f;
             string strINfor = taskmodel.SpecialTask[_taskID].InforList;
             TaskID = _taskID;
@@ -343,8 +343,8 @@
             Btn_Finish.gameObject.SetActive(false);
             Btn_Leave.gameObject.SetActive(false);
             RoundText_L.text = Language.Get("FairyAuTaskWin_Text3", SetNumberOfRounds(7));
-            RoundText_R.text = Language.Get("FairyAuTaskWin_Text4", 10);
-            Text_FinishRound.text = "70/70";
+            RoundText_R.text = Language.Get("FairyAuTaskWin_Text4", taskmodel.FairyAuTaskCount_Round);
+            Text_FinishRound.text = string.Format("{0}/{0}",taskmodel.FairyAuTaskCount_Day);
             m_Slider.value = 1f;
             ObjectiveText.text = Language.Get("CompleteTheXianmengMission_Z");
             ObjectiveText.color = UIHelper.GetUIColor(TextColType.NavyBrown);
diff --git a/System/MainInterfacePanel/FlyingShoesTask.cs b/System/MainInterfacePanel/FlyingShoesTask.cs
index 1788482..8617a94 100644
--- a/System/MainInterfacePanel/FlyingShoesTask.cs
+++ b/System/MainInterfacePanel/FlyingShoesTask.cs
@@ -73,7 +73,6 @@
 
         private void OnDisable()
         {
-            TaskModel.Event_MainlineTask -= Event_MainlineTask;
         }
 
         private void Start()
@@ -330,9 +329,6 @@
 
         public void FlyingShoes_Task(int TaskID)
         {
-            TaskModel.Event_MainlineTask -= Event_MainlineTask;
-            TaskModel.Event_MainlineTask += Event_MainlineTask;
-
             Task_ID = TaskID;
             TypeAssignment();
             for (int i = 0; i < m_parent.childCount; i++)
@@ -467,27 +463,6 @@
                 {
                     DebugEx.LogError("浠诲姟琛ㄦ牸PyTaskInfo閰嶇疆缂哄け");
                 }
-            }
-        }
-
-        private void Event_MainlineTask(int MissionID, int MissionState)
-        {
-            if (MissionID == Task_ID && MissionState == 3)
-            {
-                var worldpos = transform.TransformPoint(Vector3.zero);
-                var localpos = WindowCenter.Instance.uiRoot.baseCanvas.InverseTransformPoint(worldpos);
-                var effect = EffectMgr.Instance.PlayUIEffect(3083, 1500, localpos, true);
-                SnxxzGame.Instance.StartCoroutine(Co_StopEffect(effect));
-            }
-        }
-
-        IEnumerator Co_StopEffect(UIEffect _uieffect)
-        {
-            yield return WaitingForSecondConst.WaitMS1500;
-            if (_uieffect != null)
-            {
-                _uieffect.StopImediatly();
-                _uieffect = null;
             }
         }
 
diff --git a/System/MainInterfacePanel/TaskModel.cs b/System/MainInterfacePanel/TaskModel.cs
index b33b128..da55258 100644
--- a/System/MainInterfacePanel/TaskModel.cs
+++ b/System/MainInterfacePanel/TaskModel.cs
@@ -62,6 +62,8 @@
     public Dictionary<int, MissionDetailDates> SideQuestsDic = new Dictionary<int, MissionDetailDates>();//鏀嚎浠诲姟瀛楀吀
     public Dictionary<int, MissionDetailDates> BountyDic = new Dictionary<int, MissionDetailDates>();//璧忛噾浠诲姟
     public Dictionary<int, MissionDetailDates> FairyAuDic = new Dictionary<int, MissionDetailDates>();//浠欑洘浠诲姟
+    public int FairyAuTaskCount_Day { get; private set; }
+    public int FairyAuTaskCount_Round { get; private set; }
     public Dictionary<int, MissionDetailDates> SpecialTask = new Dictionary<int, MissionDetailDates>();//鐗规畩浠诲姟绫诲瀷
     public Dictionary<int, Dictionary<string, string>> _DicTaskInformation = new Dictionary<int, Dictionary<string, string>>();//浠诲姟瀛楀吀鐨勪俊鎭�
     public Dictionary<int, Dictionary<string, int>> ReplaceDic = new Dictionary<int, Dictionary<string, int>>();//key鍊兼浛鎹㈠瓧鍏�
@@ -157,6 +159,8 @@
         var Task_Auto = FuncConfigConfig.Get("TaskAuto");
         TaskAutoLv = int.Parse(Task_Auto.Numerical1);
         TaskAutoTime = int.Parse(Task_Auto.Numerical2);
+        FairyAuTaskCount_Day = int.Parse(FuncConfigConfig.Get("RunTaskCnt").Numerical1.Split('|')[1].Split('_')[1]);
+        FairyAuTaskCount_Round = int.Parse(FuncConfigConfig.Get("RunTaskCnt").Numerical2.Split('|')[1].Split('_')[1]);
     }
 
     public override void UnInit()
@@ -232,6 +236,12 @@
                 currentMission = MissionID;
                 currentMissionState = MissionState;
             }
+            //浠欑洘浠诲姟瀹屾垚
+            if ((pytaskM.type == 12||pytaskM.type == 14) && TaskAllocation.Instance.FairyAuAllNumber() >= FairyAuTaskCount_Day)
+            {
+                Event_FairyAuTask();
+                return;
+            }
 
 
             if (allMissionDict.ContainsKey(MissionID))
diff --git a/System/Treasure/TreasureCollectBriefInfoBehaviour.cs b/System/Treasure/TreasureCollectBriefInfoBehaviour.cs
index 03de4d6..b8dbcd9 100644
--- a/System/Treasure/TreasureCollectBriefInfoBehaviour.cs
+++ b/System/Treasure/TreasureCollectBriefInfoBehaviour.cs
@@ -28,6 +28,8 @@
         [SerializeField] Transform m_ContainerChallenge;
         [SerializeField] UIEffect m_ChallengeEffect;
 
+        [SerializeField] UIEffect m_ProgressEffect;
+
         [SerializeField] Button m_Goto;
 
         bool dirty = false;
@@ -43,6 +45,8 @@
                 }
             }
         }
+
+        Coroutine m_CacheCoroutine = null;
 
         TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
 
@@ -69,7 +73,20 @@
             if (id == displayId)
             {
                 DisplayProgress();
+                m_ProgressEffect.Play();
+                if (m_CacheCoroutine != null)
+                {
+                    StopCoroutine(m_CacheCoroutine);
+                    m_CacheCoroutine = null;
+                }
+                m_CacheCoroutine = StartCoroutine(Co_StopEffect());
             }
+        }
+
+        IEnumerator Co_StopEffect()
+        {
+            yield return WaitingForSecondConst.WaitMS1500;
+            m_ProgressEffect.StopImediatly();
         }
 
         void DisplayBase()
@@ -175,6 +192,11 @@
         {
             model.treasureStateChangeEvent -= TreasureStateChangeEvent;
             model.treasureCollectProgressRefresh -= TreasureCollectProgressRefresh;
+            if (m_CacheCoroutine != null)
+            {
+                StopCoroutine(m_CacheCoroutine);
+                m_CacheCoroutine = null;
+            }
         }
 
         private void OnGoto()

--
Gitblit v1.8.0