少年修仙传客户端代码仓库
client_Wu Xijin
2018-11-23 2986ac4bf5512c6da4beeec2fedc4e3d96817582
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);
        }
    }