少年修仙传客户端代码仓库
client_Wu Xijin
2018-11-23 2986ac4bf5512c6da4beeec2fedc4e3d96817582
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
2个文件已添加
18个文件已修改
496 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/ModelResConfig.cs 114 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/ModelResConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_NpcFunc.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActorPlayerBase.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyAuTaskWin.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/CoinTaskWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/FlyingShoesTask.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/PlayerBuffDatas.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/PlayerTaskDatas.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/TaskAllocation.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/PlayerDead/PlayerDeadModel.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/PlayerDead/ReliveWin.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/DemonTreasureWin.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VipInvest/CheckDisplay.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VipInvest/RotatePointer.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VipInvest/WheelOfFortuneWin.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/SignInCell.cs 127 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/SignInItemBehaviour.cs 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/SignInItemBehaviour.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/SignInWin.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
            }
        }
    }
}
            }
        }
    }
}
Core/GameEngine/Model/Config/ModelResConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 290b3d02a826d6b4daabb2e80dfaa3ab
timeCreated: 1529459208
timeCreated: 1542940485
licenseType: Pro
MonoImporter:
  serializedVersion: 2
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)
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);
            // 处理动画相关
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()//关闭按钮
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>();
        }
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
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;
        }
    }
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;
        }
    }
}
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;
        }
    }
}
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;
    }
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()
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;
System/Vip/VipInvest/CheckDisplay.cs
@@ -93,6 +93,7 @@
                    break;
            }
            IsBool = true;
            SoundPlayer.Instance.StopUIAudio();
        }
    }
System/Vip/VipInvest/RotatePointer.cs
@@ -130,6 +130,7 @@
            }
            else
            {
                SoundPlayer.Instance.PlayUIAudio(69);
                IsRotateBool = true;
                _isRotate = true;
            }
System/Vip/VipInvest/WheelOfFortuneWin.cs
@@ -109,6 +109,7 @@
        private void EndOfFlashing()
        {
            TiedJadeChange();
            SoundPlayer.Instance.PlayUIAudio(72);
            m_UIEffect_1.Play();
        }
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);
        }
    }
}
System/Welfare/SignInItemBehaviour.cs
New file
@@ -0,0 +1,113 @@
using 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);
        }
    }
}
System/Welfare/SignInItemBehaviour.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 488a1cbbd54fda14faae1b2207ad3939
timeCreated: 1542941563
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
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);
        }
    }