| | |
| | | |
| | | 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 |
| | |
| | | #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() |
| | |
| | | |
| | | protected override void OnPreOpen() |
| | | { |
| | | InitSignIn(); |
| | | InitCtnSign(); |
| | | |
| | | ctnSignCtrl.mScrollRect.verticalNormalizedPosition = 1; |
| | | |
| | | DisplaySignIn(); |
| | | DisplayKeepSignIn(); |
| | | model.OnSignRefresh += OnSignRefresh; |
| | | } |
| | | |
| | |
| | | #endregion |
| | | private void OnSignRefresh() |
| | | { |
| | | InitSignIn(); |
| | | InitCtnSign(); |
| | | DisplaySignIn(); |
| | | DisplayKeepSignIn(); |
| | | } |
| | | |
| | | private void HandleAchievement() |
| | |
| | | { |
| | | var _num = Mathf.Max(0, model.alreadySignInCount); |
| | | var _line = _num / 5; |
| | | signInCtrl.JumpIndex(_line); |
| | | m_SignInController.JumpIndex(_line); |
| | | } |
| | | else |
| | | { |
| | |
| | | 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(); |
| | | } |
| | | } |
| | | |
| | |
| | | {
|
| | | var _num = Mathf.Max(0, model.alreadySignInCount);
|
| | | var _line = _num / 5;
|
| | | signInCtrl.JumpIndex(_line);
|
| | | m_SignInController.JumpIndex(_line);
|
| | | } |
| | | } |
| | | |