From 2986ac4bf5512c6da4beeec2fedc4e3d96817582 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期五, 23 十一月 2018 13:57:43 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Welfare/SignInCell.cs |  127 ++++--------------------------------------
 1 files changed, 13 insertions(+), 114 deletions(-)

diff --git a/System/Welfare/SignInCell.cs b/System/Welfare/SignInCell.cs
index ef8abdc..98dd618 100644
--- a/System/Welfare/SignInCell.cs
+++ b/System/Welfare/SignInCell.cs
@@ -10,18 +10,7 @@
 {
     public class SignInCell : ScrollerUI
     {
-        [SerializeField] List<RectTransform> m_SignIns;
-        [SerializeField] List<Image> m_ItemIcons;
-        [SerializeField] List<Image> m_ItemBgs;
-        [SerializeField] List<Image> m_VipImgs;
-        [SerializeField] List<Text> m_VipTxts;
-        [SerializeField] List<Image> m_BindImgs;
-        [SerializeField] List<Text> m_DayTxts;
-        [SerializeField] List<Text> m_ItemCntTxts;
-        [SerializeField] List<Image> m_HasSignImgs;
-        [SerializeField] List<Image> m_RetroactiveImgs;
-        [SerializeField] List<Button> m_SignBtns;
-        [SerializeField] List<RectTransform> m_PresentEffects;
+        [SerializeField] SignInItemBehaviour[] m_SignIns;
 
         SignInModel m_Model;
         SignInModel model
@@ -32,24 +21,7 @@
             }
         }
 
-        public List<RectTransform> SignIns
-        {
-            get
-            {
-                return m_SignIns;
-            }
-        }
-
-        ItemTipsModel _itemTipsModel;
-        ItemTipsModel itemTipsModel
-        {
-            get
-            {
-                return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>());
-            }
-        }
-
-        AchievementGuideEffect[] _achieveEffects = new AchievementGuideEffect[5];
+        AchievementGuideEffect[] achievementEffects = new AchievementGuideEffect[5];
 
         public override void Refresh(CellView cell)
         {
@@ -63,101 +35,28 @@
                     m_SignIns[i].gameObject.SetActive(false);
                     continue;
                 }
-                var _signInCfg = configs[_index];
-                var _ring = model.IsFirstMonth ? 0 : (_signInCfg.ItemID.Length > 1 ? 1 : 0);
-                var _itemCfg = Config.Instance.Get<ItemConfig>(_signInCfg.ItemID[_ring]);
-                m_ItemIcons[i].SetSprite(_itemCfg.IconKey);
-                m_ItemBgs[i].SetItemBackGround(_itemCfg.ItemColor);
-                m_VipImgs[i].gameObject.SetActive(_signInCfg.VipLv > 0);
-                m_VipTxts[i].text = StringUtility.Contact("V", _signInCfg.VipLv, Language.Get(StringUtility.Contact("Num_CHS_", _signInCfg.VipMultiple)), Language.Get("SignInTimes"));
-                m_ItemCntTxts[i].text = _signInCfg.OrdinaryNum[_ring] <= 1 ? string.Empty : _signInCfg.OrdinaryNum[_ring].ToString();
-                m_DayTxts[i].text = Language.Get("SignIn_4", _index + 1);
-                m_BindImgs[i].gameObject.SetActive(_signInCfg.IsBind == 1);
-                m_HasSignImgs[i].gameObject.SetActive(_index < model.alreadySignInCount);
-                m_RetroactiveImgs[i].gameObject.SetActive(_index == model.alreadySignInCount && model.todaySignIn
-                    && model.keepSignInCount > 0);
-                m_PresentEffects[i].gameObject.SetActive(_index == model.alreadySignInCount && !model.todaySignIn);
+                m_SignIns[i].gameObject.SetActive(true);
+                m_SignIns[i].Display(_index);
                 if (AchievementGoto.achievementType == AchievementGoto.SignInAchievement && _page == model.alreadySignInCount / 5
                     && _index == model.alreadySignInCount && model.keepSignInCount > 0 && model.todaySignIn)
                 {
-                    if (_achieveEffects[i] == null)
+                    if (achievementEffects[i] == null)
                     {
-                        _achieveEffects[i] = AchievementGuideEffectPool.Require(2);
-                        _achieveEffects[i].transform.SetParentEx(m_SignIns[i], Vector3.zero, Vector3.zero, Vector3.one);
-                        (_achieveEffects[i].transform as RectTransform).anchoredPosition = Vector3.zero;
-                        if (_achieveEffects[i].effect != null)
+                        achievementEffects[i] = AchievementGuideEffectPool.Require(2);
+                        achievementEffects[i].transform.SetParentEx(m_SignIns[i].transform, Vector3.zero, Vector3.zero, Vector3.one);
+                        (achievementEffects[i].transform as RectTransform).anchoredPosition = Vector3.zero;
+                        if (achievementEffects[i].effect != null)
                         {
-                            _achieveEffects[i].effect.SetMask();
+                            achievementEffects[i].effect.SetMask();
                         }
                     }
                 }
-                else if (_achieveEffects[i] != null)
+                else if (achievementEffects[i] != null)
                 {
-                    AchievementGuideEffectPool.Recycle(_achieveEffects[i]);
-                    _achieveEffects[i] = null;
-                }
-                m_SignBtns[i].onClick.RemoveAllListeners();
-                m_SignBtns[i].onClick.AddListener(() =>
-                {
-                    OnClickSign(_index);
-                });
-            }
-        }
-
-        private void OnClickSign(int _day)
-        {
-            if (_day == model.alreadySignInCount)
-            {
-                AchievementGoto.achievementType = 0;
-                if (!model.todaySignIn)
-                {
-                    CA509_tagCMDaySign signpack = new CA509_tagCMDaySign();
-                    signpack.Day = 0;
-                    GameNetSystem.Instance.SendInfo(signpack);
-                    return;
-                }
-                else if (model.keepSignInCount > 0)
-                {
-                    ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("SinInReplenish", model.keepSignInCost), (bool isOk) =>
-                    {
-                        if (isOk)
-                        {
-                            if (PlayerDatas.Instance.baseData.Gold >= model.keepSignInCost)
-                            {
-                                CA509_tagCMDaySign signpack = new CA509_tagCMDaySign();
-                                signpack.Day = 1;
-                                GameNetSystem.Instance.SendInfo(signpack);
-                            }
-                            else
-                            {
-                                if (VersionConfig.Get().isBanShu)
-                                {
-                                    SysNotifyMgr.Instance.ShowTip("GoldErr");
-                                    return;
-                                }
-                                WindowCenter.Instance.Open<RechargeTipWin>();
-                            }
-                        }
-                    });
-                    return;
+                    AchievementGuideEffectPool.Recycle(achievementEffects[i]);
+                    achievementEffects[i] = null;
                 }
             }
-            var configs = Config.Instance.GetAllValues<SignInConfig>();
-            var _signInCfg = configs[_day];
-            int itemId = 0;
-            int itemCount = 0;
-            if (!model.IsFirstMonth)
-            {
-                itemId = _signInCfg.ItemID.Length > 1 ? _signInCfg.ItemID[1] : _signInCfg.ItemID[0];
-                itemCount = _signInCfg.OrdinaryNum.Length > 1 ? _signInCfg.OrdinaryNum[1] : _signInCfg.OrdinaryNum[0];
-            }
-            else
-            {
-                itemId = _signInCfg.ItemID[0];
-                itemCount = _signInCfg.OrdinaryNum[0];
-            }
-            ItemAttrData attrData = new ItemAttrData(itemId, false, (ulong)itemCount, -1, 1);
-            itemTipsModel.SetItemTipsModel(attrData);
         }
     }
 }

--
Gitblit v1.8.0