From 83a7adebdfa6a94f6aa449026cc9da45d592f5e5 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期四, 30 八月 2018 14:51:54 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/TreasureFindHost/TreasureFindHostModel.cs |   15 +++
 System/Vip/LimitedTimePackageWin.cs              |   37 +++++++
 System/FairyAu/PlayerFairyAuTreasureData.cs      |  154 +++++++++++++++++++++++++-----
 System/BlastFurnace/GetItemPathModel.cs          |    9 +
 System/TreasureFindHost/TreasureFindHostWin.cs   |    1 
 System/FairyAu/WarehouseTipsWin.cs               |   59 +++++++----
 System/TreasureFindHost/ReciveConditionCell.cs   |    1 
 7 files changed, 220 insertions(+), 56 deletions(-)

diff --git a/System/BlastFurnace/GetItemPathModel.cs b/System/BlastFurnace/GetItemPathModel.cs
index c2b4a84..14816c5 100644
--- a/System/BlastFurnace/GetItemPathModel.cs
+++ b/System/BlastFurnace/GetItemPathModel.cs
@@ -208,12 +208,19 @@
         switch(itemWaysModel.ID)
         {
             case 38:
-                ModelCenter.Instance.GetModel<PlayerFairyAuTreasureData>().JumpItemID = itemId;
+                SetUnionWarehouseGetWay();
                 break;
         }
         WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)itemWaysModel.OpenpanelId);
     }
 
+    public void SetUnionWarehouseGetWay()
+    {
+        var model1 = ModelCenter.Instance.GetModel<PlayerFairyAuTreasureData>();
+        var model2 = ModelCenter.Instance.GetModel<TreasureFindHostModel>();
+        model1.JumpItemID = model2.adviceIdlist;
+    }
+
     #region 璁剧疆寮规浣嶇疆
     private RectTransform infoTip = null;
     private RectTransform waysTip = null;
diff --git a/System/FairyAu/PlayerFairyAuTreasureData.cs b/System/FairyAu/PlayerFairyAuTreasureData.cs
index db52f3c..5e7a63d 100644
--- a/System/FairyAu/PlayerFairyAuTreasureData.cs
+++ b/System/FairyAu/PlayerFairyAuTreasureData.cs
@@ -48,25 +48,40 @@
 
     public Dictionary<int, FamilyStoreItem> _DicfamilyStoreItem = new Dictionary<int, FamilyStoreItem>();//瀹舵棌浠撳簱鐗╁搧淇℃伅
 
-    public   List<FamilyActionInfoClass> _InformationList = new List<FamilyActionInfoClass>();
+    public List<FamilyActionInfoClass> _InformationList = new List<FamilyActionInfoClass>();
     public delegate void OnFairyAuIntegral();
     public static event OnFairyAuIntegral Event_FairyAuIntegral;//鐢ㄤ簬浠欑洘绉垎鐨勫埛鏂�
     public delegate void OnFamilyActionInfo();
     public static event OnFamilyActionInfo Event_FamilyActionInfo;//瀹舵棌琛屼负淇℃伅鐨勫埛鏂�
     public delegate void OnFamilyStoreItemInfo();
     public static event OnFamilyStoreItemInfo Event_FamilyStoreItemInfo;//浠撳簱淇℃伅鐨勫埛鏂�
-    public static event Action<List<int>> Del_FamilyStoreItemInfo;//浠撳簱淇℃伅鐗╁搧鐨勫垹闄�
+    public static event Action<List<int>> Del_FamilyStoreItemInfo;//浠撳簱淇℃伅鐗╁搧鐨勫垹闄�
+    PlayerPackModel _playerPack;
+    PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
+    PackModelInterface _modelInterface;
+    PackModelInterface modelInterface { get { return _modelInterface ?? (_modelInterface = ModelCenter.Instance.GetModel<PackModelInterface>()); } }
     public int _FairyAuIntegral = 0;//鑾峰彇浠欑洘绉垎
 
-    public int JumpItemID = 0;//
+    public List<int> JumpItemID = new List<int>();//浠庤烦杞埌浠欑洘浠撳簱闇�瑕侀�変腑楂樹寒
+    List<int> EquipmentList = new List<int>();//鍏充簬瑁呭浣嶇疆
+    public bool IsShowPoint = false;//鏄惁鏄剧ず绾㈢偣
+    private const int Redpoint_key1 = 1070103;
+    public Redpoint redPointStre1 = new Redpoint(10701, Redpoint_key1);//浠欑洘浠撳簱绾㈢偣
+
     public override void Init()
     {
-        
+        var funConfig = Config.Instance.Get<FuncConfigConfig>("StrengthenDisplay");
+        int[] List = ConfigParse.GetMultipleStr<int>(funConfig.Numerical1);
+        EquipmentList.Clear();
+        for (int i = 0; i < List.Length; i++)
+        {
+            EquipmentList.Add(List[i]);
+        }
     }
 
     public override void UnInit()
-    {
-       
+    {
+
     }
 
     public void OnBeforePlayerDataInitialize()
@@ -76,8 +91,14 @@
     }
     public void OnPlayerLoginOk()
     {
+        PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//鏁版嵁鐨勫埛鏂�(h0418)
+        PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;
+        WarehouseTipsWin.RedPointUpdate -= RedPointUpdate;
+        WarehouseTipsWin.RedPointUpdate += RedPointUpdate;
+    }
 
-    }
+   
+
     public void FairyAuIntegral(int value)//鑾峰彇浠欑洘绉垎
     {
         _FairyAuIntegral = value;
@@ -94,46 +115,45 @@
             FuncConfigConfig _PetFoodExchange = Config.Instance.Get<FuncConfigConfig>("PetFoodExchange");
             _FamilyStoreItemP.ItemID = int.Parse(_PetFoodExchange.Numerical1);
             _DicfamilyStoreItem.Add(0, _FamilyStoreItemP);
-        }
-     
+        }
+
         for (int i = 0; i < info.Count; i++)
         {
             if (_DicfamilyStoreItem.ContainsKey(info.StoreItemList[i].Index + 1))
                 continue;
             FamilyStoreItem _FamilyStoreItem = new FamilyStoreItem();
             _FamilyStoreItem.ItemData = JsonUtility.FromJson<FamilyStoreItem.ItemJsonData>(info.StoreItemList[i].ItemData);
-            _FamilyStoreItem.Index = info.StoreItemList[i].Index+1;
+            _FamilyStoreItem.Index = info.StoreItemList[i].Index + 1;
             _FamilyStoreItem.ItemID = (int)info.StoreItemList[i].ItemID;
             _FamilyStoreItem._UserData = ConfigParse.Analysis(_FamilyStoreItem.ItemData.UserData);
-            _DicfamilyStoreItem.Add((int)info.StoreItemList[i].Index+1, _FamilyStoreItem);
-        }
-      
-        if (Event_FamilyStoreItemInfo != null)
-            Event_FamilyStoreItemInfo();
-
-
-
-
+            _DicfamilyStoreItem.Add((int)info.StoreItemList[i].Index + 1, _FamilyStoreItem);
+        }
+
+        if (Event_FamilyStoreItemInfo != null)
+        {
+            Event_FamilyStoreItemInfo();
+        }          
+        IsShowRedPoint();
     }
     List<int> List = new List<int>();
-    public void WarehouseToRefresh(byte [] _list)//浠撳簱鍒锋柊
+    public void WarehouseToRefresh(byte[] _list)//浠撳簱鍒锋柊
     {
         List.Clear();
         for (int i = 0; i < _list.Length; i++)
         {
-            List.Add(_list[i]+1);
+            List.Add(_list[i] + 1);
         }
         if (Del_FamilyStoreItemInfo != null)
         {
             Del_FamilyStoreItemInfo(List);
         }
-
+        IsShowRedPoint();
 
 
     }
-    public void FamilyStoreDel(int _index ,int ClearType)//瀹舵棌浠撳簱鐗╁搧鍒犻櫎(娓呴櫎鐨勬牸瀛愮储寮�, 浠呭崟鏍煎瓙娓呴櫎鏃舵湁鏁�,浠�0寮�濮嬩唬琛ㄧ涓�鏍�,0-鍗曟牸瀛愭竻闄�; 1-鎵�鏈夌墿鍝佹竻闄�)
+    public void FamilyStoreDel(int _index, int ClearType)//瀹舵棌浠撳簱鐗╁搧鍒犻櫎(娓呴櫎鐨勬牸瀛愮储寮�, 浠呭崟鏍煎瓙娓呴櫎鏃舵湁鏁�,浠�0寮�濮嬩唬琛ㄧ涓�鏍�,0-鍗曟牸瀛愭竻闄�; 1-鎵�鏈夌墿鍝佹竻闄�)
     {
-        if (_DicfamilyStoreItem.ContainsKey(_index + 1) && ClearType==0)
+        if (_DicfamilyStoreItem.ContainsKey(_index + 1) && ClearType == 0)
         {
             _DicfamilyStoreItem.Remove(_index + 1);
         }
@@ -148,7 +168,7 @@
                 _FamilyStoreItemP.ItemID = int.Parse(_PetFoodExchange.Numerical1);
                 _DicfamilyStoreItem.Add(0, _FamilyStoreItemP);
             }
-        }   
+        }
     }
 
     public void FamilyActionInfo(HA403_tagGCFamilyActionInfo info)//鎺ユ敹瀹舵棌琛屼负淇℃伅
@@ -159,20 +179,96 @@
             FamilyActionInfoClass _FamilyActionInfoClass = new FamilyActionInfoClass();
             _FamilyActionInfoClass.FamilyID = (int)info.FamilyID;
             _FamilyActionInfoClass.ActionType = (int)info.ActionType;
-            _FamilyActionInfoClass.Time =(int)info.FamilyActionList[i].Time;
+            _FamilyActionInfoClass.Time = (int)info.FamilyActionList[i].Time;
             _FamilyActionInfoClass.Name = info.FamilyActionList[i].Name;
             _FamilyActionInfoClass.OperationType = (int)info.FamilyActionList[i].Value1;
             _FamilyActionInfoClass.PlayerID = (int)info.FamilyActionList[i].Value2;
             _FamilyActionInfoClass.ItemID = (int)info.FamilyActionList[i].Value3;
             _FamilyActionInfoClass.ItemData = JsonUtility.FromJson<FamilyActionInfoClass.ItemJsonData>(info.FamilyActionList[i].UseData);
             _FamilyActionInfoClass._UserData = ConfigParse.Analysis(_FamilyActionInfoClass.ItemData.UserData);
-            _InformationList.Add(_FamilyActionInfoClass);
-          
+            _InformationList.Add(_FamilyActionInfoClass);
+
         }
         if (Event_FamilyActionInfo != null)
             Event_FamilyActionInfo();//瀹舵棌琛屼负淇℃伅鐨勫埛鏂�
 
     }
 
-   
+    private bool IsEquipmentComparison()
+    {
+        bool IsBool = false;
+        SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptEquip);
+        for (int i = 0; i < EquipmentList.Count; i++)
+        {
+            ItemModel ItemModel = singlePack.GetItemModelByIndex(i);
+            int Type = i;
+            if (ItemModel != null)
+            {
+                foreach (var key in _DicfamilyStoreItem.Keys)
+                {
+                    if (key == 0)
+                    {
+                        continue;
+                    }
+                    int ItemId = _DicfamilyStoreItem[key].ItemID;
+                    var itemConfig = Config.Instance.Get<ItemConfig>(ItemId);
+                    int RealmLevel = PlayerDatas.Instance.baseData.realmLevel;
+                    int equipScore = modelInterface.SetEquipScore(PackType.rptEquip, ItemId, _DicfamilyStoreItem[key]._UserData);
+                    if (ItemModel.chinItemModel.EquipPlace == Type && RealmLevel >= itemConfig.RealmLimit && equipScore >= ItemModel.equipScore)
+                    {
+                        IsBool = true;
+                    }
+                }
+            }
+            else
+            {
+                foreach (var key in _DicfamilyStoreItem.Keys)
+                {
+                    if (key == 0)
+                    {
+                        continue;
+                    }
+                    int ItemId = _DicfamilyStoreItem[key].ItemID;
+                    var itemConfig = Config.Instance.Get<ItemConfig>(ItemId);
+                    int RealmLevel = PlayerDatas.Instance.baseData.realmLevel;
+                    if (itemConfig.EquipPlace == Type && RealmLevel >= itemConfig.RealmLimit)
+                    {
+                        IsBool = true;
+                    }
+                }
+            }
+        }
+        return IsBool;
+    }
+    private void IsShowRedPoint()
+    {
+        int GetDayOfYear = DateTime.Now.DayOfYear;
+        string strKey= "Treasure"+ PlayerDatas.Instance.baseData.LV;
+        int day = LocalSave.GetInt(strKey);
+        if (day != GetDayOfYear && IsEquipmentComparison())
+        {
+            LocalSave.SetInt(strKey, GetDayOfYear);
+            IsShowPoint = true;
+        }
+        if (IsShowPoint)
+        {
+            redPointStre1.state = RedPointState.Simple;
+        }
+        else
+        {
+            redPointStre1.state = RedPointState.None;
+        }
+       
+    }
+    private void Updatefighting(PlayerDataRefresh obj)//鍒锋柊澧冪晫
+    {
+        if (obj == PlayerDataRefresh.OfficialRank)
+        {
+            IsShowRedPoint();
+        }
+    }
+    private void RedPointUpdate()
+    {
+        IsShowRedPoint();
+    }
 }
diff --git a/System/FairyAu/WarehouseTipsWin.cs b/System/FairyAu/WarehouseTipsWin.cs
index f4e97d3..2e07f64 100644
--- a/System/FairyAu/WarehouseTipsWin.cs
+++ b/System/FairyAu/WarehouseTipsWin.cs
@@ -84,6 +84,7 @@
         int _indexList = 0;//鏍囪闇�瑕佸厬鎹㈢殑鏁扮粍涓嬫爣
         int _WPID = 0;//鐢ㄦ潵鏍囪闇�瑕佸厬鎹㈢殑鐗╁搧ID
         private int SpiritPetDan = 0;
+        public static event Action RedPointUpdate;
         #endregion
 
 
@@ -132,15 +133,20 @@
 
         protected override void OnAfterOpen()
         {
+            if (RedPointUpdate!=null && playerFairyAuTreasureData.IsShowPoint)
+            {
+                playerFairyAuTreasureData.IsShowPoint = false;
+                RedPointUpdate();
+            }
             _GridlineCtrl.mScrollRect.verticalNormalizedPosition = 1;
             HandleAchievement();
         }
 
         protected override void OnPreClose()
         {
-            if (playerFairyAuTreasureData.JumpItemID != 0)
+            if (playerFairyAuTreasureData.JumpItemID!=null && playerFairyAuTreasureData.JumpItemID.Count>0)
             {
-                playerFairyAuTreasureData.JumpItemID = 0;
+                playerFairyAuTreasureData.JumpItemID.Clear();
             }
         }
 
@@ -1021,36 +1027,41 @@
             int Color = 0;//棰滆壊
             int Star = 0;//棰滆壊
             int EquipPlace = 0;//瑁呭浣嶇疆
-            if (playerFairyAuTreasureData.JumpItemID == 0)
+            if (playerFairyAuTreasureData.JumpItemID==null || playerFairyAuTreasureData.JumpItemID.Count <= 0)
             {
                 return;
             }
-            int ItemId = playerFairyAuTreasureData.JumpItemID;
-            var itemconfig = Config.Instance.Get<ItemConfig>(ItemId);
-            if (itemconfig.EquipPlace == 0 && itemconfig.EquipPlace > 10)
+            for (int i = 0; i < playerFairyAuTreasureData.JumpItemID.Count; i++)
             {
-                return;
-            }
-            Order = itemconfig.LV;
-            Color = itemconfig.ItemColor;
-            Star = itemconfig.StarLevel;
-            EquipPlace = itemconfig.EquipPlace;
-            foreach (var key in playerFairyAuTreasureData._DicfamilyStoreItem.Keys)
-            {
-                var Item_ID = playerFairyAuTreasureData._DicfamilyStoreItem[key].ItemID;
-                var item_config = Config.Instance.Get<ItemConfig>(Item_ID);
-                if (item_config==null && item_config.EquipPlace == 0 && item_config.EquipPlace > 10)
+                int ItemId = playerFairyAuTreasureData.JumpItemID[i];
+                var itemconfig = Config.Instance.Get<ItemConfig>(ItemId);
+                if (itemconfig.EquipPlace == 0 && itemconfig.EquipPlace > 10)
                 {
-                    continue;
+                    return;
                 }
-                if (item_config.LV >= Order && item_config.ItemColor >= Color
-                    && item_config.StarLevel >= Star && EquipPlace == item_config.EquipPlace
-                    && PlayerDatas.Instance.baseData.Job == item_config.JobLimit / 100)
+                Order = itemconfig.LV;
+                Color = itemconfig.ItemColor;
+                Star = itemconfig.StarLevel;
+                EquipPlace = itemconfig.EquipPlace;
+                foreach (var key in playerFairyAuTreasureData._DicfamilyStoreItem.Keys)
                 {
-                    DicHighlight.Add(key,1);
+                    var Item_ID = playerFairyAuTreasureData._DicfamilyStoreItem[key].ItemID;
+                    var item_config = Config.Instance.Get<ItemConfig>(Item_ID);
+                    if (item_config == null && item_config.EquipPlace == 0 && item_config.EquipPlace > 10)
+                    {
+                        continue;
+                    }
+                    if (item_config.LV >= Order && item_config.ItemColor >= Color
+                        && item_config.StarLevel >= Star && EquipPlace == item_config.EquipPlace
+                        && PlayerDatas.Instance.baseData.Job == item_config.JobLimit / 100)
+                    {
+                        if (!DicHighlight.ContainsKey(key))
+                        {
+                            DicHighlight.Add(key, 1);
+                        }                  
+                    }
                 }
-            }
-
+            }                   
         }
 
         private void ClearItemID(int Index)
diff --git a/System/TreasureFindHost/ReciveConditionCell.cs b/System/TreasureFindHost/ReciveConditionCell.cs
index 24ae501..26c8bba 100644
--- a/System/TreasureFindHost/ReciveConditionCell.cs
+++ b/System/TreasureFindHost/ReciveConditionCell.cs
@@ -118,6 +118,7 @@
                     receivedImg.SetActive(false);
                     receiveBtn.AddListener(() =>
                     {
+                        hostModel.SetAdviceIdlist(adviceIdlist);
                         ItemAttrData attrData = new ItemAttrData(adviceIdlist[0], true, 0, -1, 0, true, PackType.rptDeleted, "", null, ItemTipChildType.GetEquipPath);
                         tipsModel.SetItemTipsModel(attrData, false);
                         if (tipsModel.compareAttrData != null)
diff --git a/System/TreasureFindHost/TreasureFindHostModel.cs b/System/TreasureFindHost/TreasureFindHostModel.cs
index 7cb9c7c..f144622 100644
--- a/System/TreasureFindHost/TreasureFindHostModel.cs
+++ b/System/TreasureFindHost/TreasureFindHostModel.cs
@@ -340,6 +340,21 @@
             return false;
         }
 
+        public int SelectTreasureId { get; private set; }
+        public void SetSelectTreasureId(int treasureId)
+        {
+            SelectTreasureId = treasureId;
+        }
+
+        public List<int> adviceIdlist = new List<int>();
+        public void SetAdviceIdlist(List<int> idlist)
+        {
+            if (idlist == null || idlist.Count < 1) return;
+
+            adviceIdlist.Clear();
+            adviceIdlist.AddRange(idlist);
+        }
+
         #region 澶勭悊鏈嶅姟绔暟鎹�
         public event Action OnCompletedAct;
         public void GetServerAwardRecord(HA348_tagMCXBXZAwardRecordList awardRecord)
diff --git a/System/TreasureFindHost/TreasureFindHostWin.cs b/System/TreasureFindHost/TreasureFindHostWin.cs
index 5eb66f7..b9ad4de 100644
--- a/System/TreasureFindHost/TreasureFindHostWin.cs
+++ b/System/TreasureFindHost/TreasureFindHostWin.cs
@@ -202,6 +202,7 @@
             }
 
             selectTreasureId = treasureId;
+            hostModel.SetSelectTreasureId(treasureId);
             UI3DTreasureExhibition.Instance.BeginShowTreasure(selectTreasureId, treasureIcon);
             CreateConditionCell();
             functionOrder = index;
diff --git a/System/Vip/LimitedTimePackageWin.cs b/System/Vip/LimitedTimePackageWin.cs
index bc81d8f..60ea970 100644
--- a/System/Vip/LimitedTimePackageWin.cs
+++ b/System/Vip/LimitedTimePackageWin.cs
@@ -50,6 +50,7 @@
         {
             OperationTimeHepler.Instance.operationTimeUpdateEvent += OperationTimeUpdateEvent;
             limitedTimePackageItemModel.UpdateLimitedTimePackageItem += UpdateLimitedTimePackageItem;
+            GlobalTimeEvent.Instance.secondEvent += secondEvent;
             time = 0;
             m_Buy_Btn.interactable = true;
             DisPlay();
@@ -88,7 +89,7 @@
             if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.GiftPackage, out operationBase))
             {
                 GiftPackageClass operation = operationBase as GiftPackageClass;
-                m_Text_ActivityTimeTo.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"), operation.ToDisplayTime());
+               // m_Text_ActivityTimeTo.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"), operation.ToDisplayTime());
                 var index = operation.IndexOfFlashShop();
                 if (index != -1 && index < operation.giftpackage1.Count)
                 {
@@ -169,8 +170,10 @@
         {
             OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent;
             limitedTimePackageItemModel.UpdateLimitedTimePackageItem -= UpdateLimitedTimePackageItem;
+            GlobalTimeEvent.Instance.secondEvent -= secondEvent;
         }
 
+      
         protected override void OnAfterClose()
         {
         }
@@ -186,7 +189,37 @@
                 }
             }
         }
-      
+        private void secondEvent()
+        {
+            int time = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.GiftPackage);
+            if (time <= 0)
+            {
+                m_Text_ActivityTimeTo.text = Language.Get("LimitGift2");
+            }
+            if (time > 86400)
+            {
+                m_Text_ActivityTimeTo.gameObject.SetActive(false);
+            }
+            else
+            {
+                if (!m_Text_ActivityTimeTo.gameObject.activeSelf)
+                {
+                    m_Text_ActivityTimeTo.gameObject.SetActive(true);
+                }
+                if (time < 3600)
+                {
+                    m_Text_ActivityTimeTo.text =Language.Get("LimitGift1")+":"+ TimeUtility.SecondsToHMS(time);
+                    m_Text_ActivityTimeTo.color = UIHelper.GetUIColor(TextColType.Green);
+
+                }
+                else
+                {
+                    m_Text_ActivityTimeTo.text = Language.Get("LimitGift1") + ":" + TimeUtility.SecondsToHMS(time);
+                    m_Text_ActivityTimeTo.color = UIHelper.GetUIColor(TextColType.Green);
+                }
+            }
+        }
+
         #endregion
 
     }

--
Gitblit v1.8.0