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

---
 Core/GameEngine/Model/Config/ModelResConfig.cs      |  114 ++++++------
 System/MainInterfacePanel/TaskAllocation.cs         |    6 
 System/Welfare/SignInWin.cs                         |   56 ++---
 System/Welfare/SignInItemBehaviour.cs               |  113 ++++++++++++
 System/MainInterfacePanel/CoinTaskWin.cs            |    2 
 System/PlayerDead/PlayerDeadModel.cs                |    2 
 System/Vip/VipInvest/CheckDisplay.cs                |    1 
 System/Welfare/SignInItemBehaviour.cs.meta          |   12 +
 System/MainInterfacePanel/FlyingShoesTask.cs        |    5 
 System/PlayerDead/ReliveWin.cs                      |   13 +
 System/MainInterfacePanel/PlayerTaskDatas.cs        |    1 
 System/Welfare/SignInCell.cs                        |  127 +------------
 System/MainInterfacePanel/PlayerBuffDatas.cs        |   30 +-
 System/Treasure/DemonTreasureWin.cs                 |    3 
 Core/GameEngine/Model/Config/ModelResConfig.cs.meta |    2 
 System/FairyAu/FairyAuTaskWin.cs                    |    1 
 System/Vip/VipInvest/RotatePointer.cs               |    1 
 Fight/GameActor/GA_NpcFunc.cs                       |    3 
 Fight/GameActor/GActorPlayerBase.cs                 |    3 
 System/Vip/VipInvest/WheelOfFortuneWin.cs           |    1 
 20 files changed, 277 insertions(+), 219 deletions(-)

diff --git a/Core/GameEngine/Model/Config/ModelResConfig.cs b/Core/GameEngine/Model/Config/ModelResConfig.cs
index fd7db7e..c45ca7d 100644
--- a/Core/GameEngine/Model/Config/ModelResConfig.cs
+++ b/Core/GameEngine/Model/Config/ModelResConfig.cs
@@ -1,62 +1,68 @@
-锘�//--------------------------------------------------------
-//    [Author]:			绗簩涓栫晫
-//    [  Date ]:		   Wednesday, June 20, 2018
-//--------------------------------------------------------
-
-using UnityEngine;
-using System;
-
-namespace TableConfig {
-
-    
-	public partial class ModelResConfig : ConfigBase {
+锘�//--------------------------------------------------------
+//    [Author]:			绗簩涓栫晫
+//    [  Date ]:		   Friday, November 23, 2018
+//--------------------------------------------------------
 
-		public int ID { get ; private set ; }
-		public string Name { get ; private set; } 
-		public int Type { get ; private set ; }
-		public string ResourcesName { get ; private set; } 
-		public string BindPoint { get ; private set; } 
-		public string EffFileName { get ; private set; } 
-		public Vector3 UIOffset { get ; private set; } 
-		public Vector3 UIRotation { get ; private set; } 
-		public float UIScale { get ; private set; } 
-
-		public override string getKey()
+using UnityEngine;
+using System;
+
+namespace TableConfig
+{
+
+
+    public partial class ModelResConfig : ConfigBase
+    {
+
+        public int ID { get; private set; }
+        public string Name { get; private set; }
+        public int Type { get; private set; }
+        public string ResourcesName { get; private set; }
+        public string BindPoint { get; private set; }
+        public string EffFileName { get; private set; }
+        public Vector3 UIOffset { get; private set; }
+        public Vector3 UIRotation { get; private set; }
+        public float UIScale { get; private set; }
+        public Vector3 Scale { get; private set; }
+
+        public override string getKey()
         {
             return ID.ToString();
-        }
-
-		public override void Parse() {
-			try
+        }
+
+        public override void Parse()
+        {
+            try
             {
-                ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; 
-			
-				Name = rawContents[1].Trim();
-			
-				Type=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; 
-			
-				ResourcesName = rawContents[3].Trim();
-			
-				BindPoint = rawContents[4].Trim();
-			
-				EffFileName = rawContents[5].Trim();
-			
-				UIOffset=rawContents[6].Vector3Parse();
-			
-				UIRotation=rawContents[7].Vector3Parse();
-			
-				UIScale=IsNumeric(rawContents[8]) ? float.Parse(rawContents[8]):0; 
+                ID = IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]) : 0;
+
+                Name = rawContents[1].Trim();
+
+                Type = IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]) : 0;
+
+                ResourcesName = rawContents[3].Trim();
+
+                BindPoint = rawContents[4].Trim();
+
+                EffFileName = rawContents[5].Trim();
+
+                UIOffset = rawContents[6].Vector3Parse();
+
+                UIRotation = rawContents[7].Vector3Parse();
+
+                UIScale = IsNumeric(rawContents[8]) ? float.Parse(rawContents[8]) : 0;
+
+                Scale = rawContents[9].Vector3Parse();
             }
             catch (Exception ex)
             {
                 DebugEx.Log(ex);
-            }
-		}
-	
-	}
-
-}
-
-
-
-
+            }
+        }
+
+    }
+
+}
+
+
+
+
diff --git a/Core/GameEngine/Model/Config/ModelResConfig.cs.meta b/Core/GameEngine/Model/Config/ModelResConfig.cs.meta
index a9bc389..283834d 100644
--- a/Core/GameEngine/Model/Config/ModelResConfig.cs.meta
+++ b/Core/GameEngine/Model/Config/ModelResConfig.cs.meta
@@ -1,6 +1,6 @@
 fileFormatVersion: 2
 guid: 290b3d02a826d6b4daabb2e80dfaa3ab
-timeCreated: 1529459208
+timeCreated: 1542940485
 licenseType: Pro
 MonoImporter:
   serializedVersion: 2
diff --git a/Fight/GameActor/GA_NpcFunc.cs b/Fight/GameActor/GA_NpcFunc.cs
index e6a39e7..128dbeb 100644
--- a/Fight/GameActor/GA_NpcFunc.cs
+++ b/Fight/GameActor/GA_NpcFunc.cs
@@ -222,6 +222,9 @@
         m_WingModel.transform.SetParent(_bindNode);
         m_WingModel.transform.localPosition = Vector3.zero;
         m_WingModel.transform.localRotation = Quaternion.identity;
+
+        ModelResConfig _resConfig = Config.Instance.Get<ModelResConfig>(m_WingID);
+        m_WingModel.transform.localScale = _resConfig.Scale;
     }
 
     private void OnSecondaryLoaded(bool result, UnityEngine.Object prefab)
diff --git a/Fight/GameActor/GActorPlayerBase.cs b/Fight/GameActor/GActorPlayerBase.cs
index ae51b2c..5d922c8 100644
--- a/Fight/GameActor/GActorPlayerBase.cs
+++ b/Fight/GameActor/GActorPlayerBase.cs
@@ -738,6 +738,9 @@
             m_WingModel.transform.localPosition = Vector3.zero;
             m_WingModel.transform.localRotation = Quaternion.identity;
 
+            ModelResConfig _resConfig = Config.Instance.Get<ModelResConfig>(_itemConfig.ChangeOrd);
+            m_WingModel.transform.localScale = _resConfig.Scale;
+
             OnPutonWing(itemID, m_WingModel);
 
             // 澶勭悊鍔ㄧ敾鐩稿叧
diff --git a/System/FairyAu/FairyAuTaskWin.cs b/System/FairyAu/FairyAuTaskWin.cs
index 9f07577..9b227a2 100644
--- a/System/FairyAu/FairyAuTaskWin.cs
+++ b/System/FairyAu/FairyAuTaskWin.cs
@@ -203,6 +203,7 @@
             WindowCenter.Instance.CloseImmediately<FairyAuTaskWin>();
             WindowCenter.Instance.Open<MainInterfaceWin>();
             ObjectiveText.ExcuteHref();
+            TaskAllocation.Instance.TaskTime = DateTime.Now;
         }
 
         void CloseButton()//鍏抽棴鎸夐挳
diff --git a/System/MainInterfacePanel/CoinTaskWin.cs b/System/MainInterfacePanel/CoinTaskWin.cs
index e9dbacd..a64f86f 100644
--- a/System/MainInterfacePanel/CoinTaskWin.cs
+++ b/System/MainInterfacePanel/CoinTaskWin.cs
@@ -10,6 +10,7 @@
 using System.Text;
 using System.Text.RegularExpressions;
 using Snxxz.UI;
+using System;
 //璧忛噾浠诲姟闈㈡澘
 namespace Snxxz.UI
 {
@@ -281,6 +282,7 @@
         void Forward()
         {
             _Text_TaskTarget.ExcuteHref();
+            TaskAllocation.Instance.TaskTime = DateTime.Now;
             WindowCenter.Instance.CloseImmediately<TaskWin>();
             WindowCenter.Instance.Open<MainInterfaceWin>();
         }
diff --git a/System/MainInterfacePanel/FlyingShoesTask.cs b/System/MainInterfacePanel/FlyingShoesTask.cs
index 68ad7ae..33e7102 100644
--- a/System/MainInterfacePanel/FlyingShoesTask.cs
+++ b/System/MainInterfacePanel/FlyingShoesTask.cs
@@ -9,6 +9,7 @@
 using System.Collections.Generic;
 using Snxxz.UI;
 using System.Text.RegularExpressions;
+using System;
 //鍏充簬椋為瀷浠诲姟
 namespace Snxxz.UI
 {
@@ -168,6 +169,7 @@
                     {
                         HeroAIRecorder.ClearRecord();
                         ContentText.ExcuteHref();
+                        TaskAllocation.Instance.TaskTime = DateTime.Now;
                         OpenPanel(Task_ID);
                     }
                    
@@ -281,12 +283,14 @@
             if (ModelCenter.Instance.GetModel<VipModel>().GetVipPrivilegeCnt(VipPrivilegeType.FreeTransfer) > 0)
             {
                 HeroAIRecorder.ClearRecord();
+                TaskAllocation.Instance.TaskTime= DateTime.Now;
                 m_ContentText.ExcuteHref(1);
                 return;
             }
             if (itemNumber > 0)
             {
                 HeroAIRecorder.ClearRecord();
+                TaskAllocation.Instance.TaskTime = DateTime.Now;
                 m_ContentText.ExcuteHref(1);
             }
             else
@@ -297,6 +301,7 @@
                     if (NeedMoney >= 1)
                     {
                         HeroAIRecorder.ClearRecord();
+                        TaskAllocation.Instance.TaskTime = DateTime.Now;
                         m_ContentText.ExcuteHref(1);
                     }
                     else
diff --git a/System/MainInterfacePanel/PlayerBuffDatas.cs b/System/MainInterfacePanel/PlayerBuffDatas.cs
index 34ad10a..4463c44 100644
--- a/System/MainInterfacePanel/PlayerBuffDatas.cs
+++ b/System/MainInterfacePanel/PlayerBuffDatas.cs
@@ -182,7 +182,6 @@
                 break;
             case PlayerDataRefresh.LV:
                 AddoperationStartEvent();
-                WorldLVBuff();
                 break;
         }
 
@@ -367,20 +366,8 @@
         {
             return;
         }
-        if (getWorldLV != 0 && worldExpRate>0)//鍒犻櫎涓栫晫绛夌骇
-        {
-            if (PlayerDatas.Instance.baseData.LV >= getWorldLV)
-            {
-                if (_BuffDic.ContainsKey(20047))
-                {
-                    _BuffDic.Remove(20047);
-                    if (Even_ObjDelBuff != null)
-                    {
-                        Even_ObjDelBuff();
-                    }                
-                }
-                return;
-            }
+        if (getWorldLV != 0 && worldExpRate>0)//娣诲姞涓栫晫绛夌骇buff
+        {       
             var skillconfig = Config.Instance.Get<SkillConfig>(20047);
             if (_BuffDic.ContainsKey(20047))
             {
@@ -405,8 +392,19 @@
             if (Even_ObjAddBuf != null)
             {
                 Even_ObjAddBuf();
+            }            
+        }
+        if (worldExpRate<=0)//鍒犻櫎涓栫晫绛夌骇Buff
+        {
+            if (_BuffDic.ContainsKey(20047))
+            {
+                _BuffDic.Remove(20047);
+                if (Even_ObjDelBuff != null)
+                {
+                    Even_ObjDelBuff();
+                }
             }
-               
+            return;
         }
     }
 
diff --git a/System/MainInterfacePanel/PlayerTaskDatas.cs b/System/MainInterfacePanel/PlayerTaskDatas.cs
index 94df486..508df0b 100644
--- a/System/MainInterfacePanel/PlayerTaskDatas.cs
+++ b/System/MainInterfacePanel/PlayerTaskDatas.cs
@@ -1581,6 +1581,7 @@
             string strTask = TaskAllocation.Instance.GetTaskInfo(Config.Instance.Get<TASKINFOConfig>(_strTest).show_writing, _taskID);
             HrefAnalysis.Inst.ExcuteHrefEvent(strTask);
             DropItemManager.StopMissionPickup = false;
+            TaskAllocation.Instance.TaskTime = DateTime.Now;
         }
     }
 }
diff --git a/System/MainInterfacePanel/TaskAllocation.cs b/System/MainInterfacePanel/TaskAllocation.cs
index 2dc7d15..a780538 100644
--- a/System/MainInterfacePanel/TaskAllocation.cs
+++ b/System/MainInterfacePanel/TaskAllocation.cs
@@ -8,6 +8,7 @@
 using System.Text;
 using System.Text.RegularExpressions;
 using System.Collections.Generic;
+using System;
 //鐢ㄤ簬浠诲姟鍒嗛厤
 namespace Snxxz.UI
 {
@@ -154,6 +155,11 @@
                 });
             }
         }
+        public DateTime TaskTime
+        {
+            get;
+            set;
+        }
     }
 
 }
diff --git a/System/PlayerDead/PlayerDeadModel.cs b/System/PlayerDead/PlayerDeadModel.cs
index dd48f20..9af0fd6 100644
--- a/System/PlayerDead/PlayerDeadModel.cs
+++ b/System/PlayerDead/PlayerDeadModel.cs
@@ -11,6 +11,7 @@
 {
     public int[]dungeonKillArray { get; private set; }
     public int deadBuffId { get; private set;}
+    public int maxDeadBuffLV { get; private set;}
 
     public override void Init()
     {
@@ -22,6 +23,7 @@
         duplicatesRebornDict = ConfigParse.GetDic<int, int>(RebornTime.Numerical1);
         FuncConfigConfig ElderBattlefieldRobot = Config.Instance.Get<FuncConfigConfig>("ElderBattlefieldRobot");
         deadBuffId = int.Parse(ElderBattlefieldRobot.Numerical3);
+        maxDeadBuffLV = int.Parse(ElderBattlefieldRobot.Numerical4);
         SysNotifyMgr.Instance.sysNotifyEvent += RefreshPlayerDieInfo;
     }
 
diff --git a/System/PlayerDead/ReliveWin.cs b/System/PlayerDead/ReliveWin.cs
index 62f62eb..da7dce3 100644
--- a/System/PlayerDead/ReliveWin.cs
+++ b/System/PlayerDead/ReliveWin.cs
@@ -60,8 +60,17 @@
                         SkillConfig skillConfig = Config.Instance.Get<SkillConfig>(buffId);
                         if(skillConfig.SkillTypeID == DeadModel.deadBuffId)
                         {
-                            skillName = skillConfig.SkillName;
                             buffLv = skillConfig.SkillLV + 1;
+                            buffLv = buffLv > DeadModel.maxDeadBuffLV ? DeadModel.maxDeadBuffLV : buffLv;
+                            for (int j = 0; j < skillConfigs.Count; j++)
+                            {
+                                var config = skillConfigs[j];
+                                if(config.SkillLV == buffLv)
+                                {
+                                    skillName = config.SkillName;
+                                    break;
+                                }
+                            }
                             break;
                         }
                     }
@@ -85,8 +94,6 @@
                     dieDesText.text = msg;
                 }
             }
-         
-         
         }
 
         protected override void OnAfterOpen()
diff --git a/System/Treasure/DemonTreasureWin.cs b/System/Treasure/DemonTreasureWin.cs
index 3d58ea3..b86c670 100644
--- a/System/Treasure/DemonTreasureWin.cs
+++ b/System/Treasure/DemonTreasureWin.cs
@@ -22,6 +22,7 @@
         [SerializeField] Text m_SkillState;
         [SerializeField] Text m_SkillName;
         [SerializeField] Text m_SkillDescription;
+        [SerializeField] ScrollRect m_ScrollRect;
         [SerializeField] RectTransform m_DungeonsContent;
         [SerializeField] Transform m_ContainerDungeons;
         [SerializeField] DemonDungeonBehaviour[] m_DungeonBehaviours;
@@ -456,6 +457,8 @@
                     treasureDungeon.maxLevel : (treasureDungeon.currentLevel + 1);
                 var selectPosition = scriptable.GetPosition(selectLevel - 1);
                 var lastPosition = scriptable.GetPosition(treasureDungeon.maxLevel - 1);
+                m_DungeonsContent.sizeDelta = m_DungeonsContent.sizeDelta.SetY(lastPosition.y + height / 2 * expand);
+                m_ScrollRect.vertical = (lastPosition.y + height / 2 * expand) > viewAreaHeight;
                 if (selectPosition.y + (height / 2) * expand <= viewAreaHeight)
                 {
                     m_DungeonsContent.anchoredPosition = Vector3.zero;
diff --git a/System/Vip/VipInvest/CheckDisplay.cs b/System/Vip/VipInvest/CheckDisplay.cs
index 5c8bbc8..9b1e406 100644
--- a/System/Vip/VipInvest/CheckDisplay.cs
+++ b/System/Vip/VipInvest/CheckDisplay.cs
@@ -93,6 +93,7 @@
                     break;
             }
             IsBool = true;
+            SoundPlayer.Instance.StopUIAudio();
         }
     }
 
diff --git a/System/Vip/VipInvest/RotatePointer.cs b/System/Vip/VipInvest/RotatePointer.cs
index cd68d68..aa84483 100644
--- a/System/Vip/VipInvest/RotatePointer.cs
+++ b/System/Vip/VipInvest/RotatePointer.cs
@@ -130,6 +130,7 @@
             }
             else
             {
+                SoundPlayer.Instance.PlayUIAudio(69);
                 IsRotateBool = true;
                 _isRotate = true;
             }
diff --git a/System/Vip/VipInvest/WheelOfFortuneWin.cs b/System/Vip/VipInvest/WheelOfFortuneWin.cs
index 2dfbb98..ccb6de2 100644
--- a/System/Vip/VipInvest/WheelOfFortuneWin.cs
+++ b/System/Vip/VipInvest/WheelOfFortuneWin.cs
@@ -109,6 +109,7 @@
         private void EndOfFlashing()
         {
             TiedJadeChange();
+            SoundPlayer.Instance.PlayUIAudio(72);
             m_UIEffect_1.Play();
         }
 
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);
         }
     }
 }
diff --git a/System/Welfare/SignInItemBehaviour.cs b/System/Welfare/SignInItemBehaviour.cs
new file mode 100644
index 0000000..c71449c
--- /dev/null
+++ b/System/Welfare/SignInItemBehaviour.cs
@@ -0,0 +1,113 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using TableConfig;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+    public class SignInItemBehaviour : MonoBehaviour
+    {
+        [SerializeField] Image m_Icon;
+        [SerializeField] Image m_ItemBG;
+        [SerializeField] RectTransform m_ContainerVip;
+        [SerializeField] Text m_VipLevel;
+        [SerializeField] Image m_Bind;
+        [SerializeField] Text m_Day;
+        [SerializeField] Text m_Count;
+        [SerializeField] RectTransform m_AlreadySignIn;
+        [SerializeField] RectTransform m_ContainerKeepSignIn;
+        [SerializeField] Button m_SignIn;
+        [SerializeField] UIEffect m_Effect;
+
+        SignInModel model { get { return ModelCenter.Instance.GetModel<SignInModel>(); } }
+
+        public void Display(int index)
+        {
+            m_SignIn.onClick.RemoveAllListeners();
+            var configs = Config.Instance.GetAllValues<SignInConfig>();
+            if (index >= configs.Count)
+            {
+                return;
+            }
+            var config = configs[index];
+            var ring = model.IsFirstMonth ? 0 : (config.ItemID.Length > 1 ? 1 : 0);
+            var itemConfig = Config.Instance.Get<ItemConfig>(config.ItemID[ring]);
+            m_Icon.SetSprite(itemConfig.IconKey);
+            m_ItemBG.SetItemBackGround(itemConfig.ItemColor);
+            m_ContainerVip.gameObject.SetActive(config.VipLv > 0);
+            m_VipLevel.text = StringUtility.Contact("V", config.VipLv,
+                Language.Get(StringUtility.Contact("Num_CHS_", config.VipMultiple)), Language.Get("SignInTimes"));
+            m_Count.text = config.OrdinaryNum[ring] <= 1 ? string.Empty : config.OrdinaryNum[ring].ToString();
+            m_Day.text = Language.Get("SignIn_4", index + 1);
+            m_Bind.gameObject.SetActive(config.IsBind == 1);
+            m_AlreadySignIn.gameObject.SetActive(index < model.alreadySignInCount);
+            m_ContainerKeepSignIn.gameObject.SetActive(index == model.alreadySignInCount && model.todaySignIn
+                && model.keepSignInCount > 0);
+            m_Effect.gameObject.SetActive(index == model.alreadySignInCount && !model.todaySignIn);
+
+            m_SignIn.onClick.AddListener(() =>
+            {
+                SignIn(index);
+            });
+        }
+
+        private void SignIn(int index)
+        {
+            if (index == model.alreadySignInCount)
+            {
+                AchievementGoto.achievementType = 0;
+                if (!model.todaySignIn)
+                {
+                    CA509_tagCMDaySign pak = new CA509_tagCMDaySign();
+                    pak.Day = 0;
+                    GameNetSystem.Instance.SendInfo(pak);
+                    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 pak = new CA509_tagCMDaySign();
+                                pak.Day = 1;
+                                GameNetSystem.Instance.SendInfo(pak);
+                            }
+                            else
+                            {
+                                if (VersionConfig.Get().isBanShu)
+                                {
+                                    SysNotifyMgr.Instance.ShowTip("GoldErr");
+                                    return;
+                                }
+                                WindowCenter.Instance.Open<RechargeTipWin>();
+                            }
+                        }
+                    });
+                    return;
+                }
+            }
+            var configs = Config.Instance.GetAllValues<SignInConfig>();
+            var config = configs[index];
+            int itemId = 0;
+            int itemCount = 0;
+            if (!model.IsFirstMonth)
+            {
+                itemId = config.ItemID.Length > 1 ? config.ItemID[1] : config.ItemID[0];
+                itemCount = config.OrdinaryNum.Length > 1 ? config.OrdinaryNum[1] : config.OrdinaryNum[0];
+            }
+            else
+            {
+                itemId = config.ItemID[0];
+                itemCount = config.OrdinaryNum[0];
+            }
+            ItemAttrData attrData = new ItemAttrData(itemId, false, (ulong)itemCount, -1, 1);
+            ModelCenter.Instance.GetModel<ItemTipsModel>().SetItemTipsModel(attrData);
+        }
+    }
+}
+
diff --git a/System/Welfare/SignInItemBehaviour.cs.meta b/System/Welfare/SignInItemBehaviour.cs.meta
new file mode 100644
index 0000000..616d91e
--- /dev/null
+++ b/System/Welfare/SignInItemBehaviour.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 488a1cbbd54fda14faae1b2207ad3939
+timeCreated: 1542941563
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/Welfare/SignInWin.cs b/System/Welfare/SignInWin.cs
index 7533134..03fef92 100644
--- a/System/Welfare/SignInWin.cs
+++ b/System/Welfare/SignInWin.cs
@@ -16,12 +16,9 @@
 
     public class SignInWin : Window
     {
-        [SerializeField]
-        ScrollerController signInCtrl;
-        [SerializeField]
-        ScrollerController ctnSignCtrl;
-        [SerializeField]
-        Text signInfo;
+        [SerializeField] ScrollerController m_SignInController;
+        [SerializeField] ScrollerController m_KeepSignInController;
+        [SerializeField] Text m_SignInRemind;
 
         SignInModel m_Model;
         SignInModel model
@@ -35,8 +32,8 @@
         #region Built-in
         protected override void BindController()
         {
-            ctnSignCtrl.lockType = EnhanceLockType.KeepVertical;
-            signInCtrl.lockType = EnhanceLockType.KeepVertical;
+            m_KeepSignInController.lockType = EnhanceLockType.KeepVertical;
+            m_SignInController.lockType = EnhanceLockType.KeepVertical;
         }
 
         protected override void AddListeners()
@@ -45,11 +42,8 @@
 
         protected override void OnPreOpen()
         {
-            InitSignIn();
-            InitCtnSign();
-
-            ctnSignCtrl.mScrollRect.verticalNormalizedPosition = 1;
-
+            DisplaySignIn();
+            DisplayKeepSignIn();
             model.OnSignRefresh += OnSignRefresh;
         }
 
@@ -77,8 +71,8 @@
         #endregion
         private void OnSignRefresh()
         {
-            InitSignIn();
-            InitCtnSign();
+            DisplaySignIn();
+            DisplayKeepSignIn();
         }
 
         private void HandleAchievement()
@@ -90,7 +84,7 @@
                 {
                     var _num = Mathf.Max(0, model.alreadySignInCount);
                     var _line = _num / 5;
-                    signInCtrl.JumpIndex(_line);
+                    m_SignInController.JumpIndex(_line);
                 }
                 else
                 {
@@ -98,45 +92,45 @@
                     AchievementGoto.achievementType = 0;
                 }
             }
-            signInCtrl.m_Scorller.RefreshActiveCellViews();
+            m_SignInController.m_Scorller.RefreshActiveCellViews();
         }
 
-        private void InitSignIn()
+        private void DisplaySignIn()
         {
             var configs = Config.Instance.GetAllValues<SignInConfig>();
-            if (signInCtrl.GetNumberOfCells(signInCtrl.m_Scorller) == 0)
+            if (m_SignInController.GetNumberOfCells(m_SignInController.m_Scorller) == 0)
             {
-                signInCtrl.Refresh();
+                m_SignInController.Refresh();
                 int page = Mathf.CeilToInt((float)configs.Count / 5);
                 for (int i = 0; i < page; i++)
                 {
-                    signInCtrl.AddCell(ScrollerDataType.Header, i);
+                    m_SignInController.AddCell(ScrollerDataType.Header, i);
                 }
-                signInCtrl.Restart();
+                m_SignInController.Restart();
             }
             else
             {
-                signInCtrl.m_Scorller.RefreshActiveCellViews();
+                m_SignInController.m_Scorller.RefreshActiveCellViews();
             }
 
-            signInfo.text = Language.Get("SignIn_3", model.alreadySignInCount, model.keepSignInCount);
+            m_SignInRemind.text = Language.Get("SignIn_3", model.alreadySignInCount, model.keepSignInCount);
         }
 
-        private void InitCtnSign()
+        private void DisplayKeepSignIn()
         {
             var configs = Config.Instance.GetAllValues<ContinueSignInConfig>();
-            if (ctnSignCtrl.GetNumberOfCells(ctnSignCtrl.m_Scorller) == 0)
+            if (m_KeepSignInController.GetNumberOfCells(m_KeepSignInController.m_Scorller) == 0)
             {
-                ctnSignCtrl.Refresh();
+                m_KeepSignInController.Refresh();
                 for (int i = 0; i < configs.Count; i++)
                 {
-                    ctnSignCtrl.AddCell(ScrollerDataType.Header, i);
+                    m_KeepSignInController.AddCell(ScrollerDataType.Header, i);
                 }
-                ctnSignCtrl.Restart();
+                m_KeepSignInController.Restart();
             }
             else
             {
-                ctnSignCtrl.m_Scorller.RefreshActiveCellViews();
+                m_KeepSignInController.m_Scorller.RefreshActiveCellViews();
             }
         }
 
@@ -144,7 +138,7 @@
         {
             var _num = Mathf.Max(0, model.alreadySignInCount);
             var _line = _num / 5;
-            signInCtrl.JumpIndex(_line);
+            m_SignInController.JumpIndex(_line);
         }
     }
 

--
Gitblit v1.8.0