using vnxbqy.UI; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System; namespace EnhancedUI.EnhancedScroller { public class SignInCell : ScrollerUI { [SerializeField] SignInItemBehaviour[] m_SignIns; SignInModel m_Model; SignInModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } AchievementGuideEffect[] achievementEffects = new AchievementGuideEffect[5]; public override void Refresh(CellView cell) { var _page = cell.index; var configs =SignInConfig.GetValues(); for (int i = 0; i < 5; i++) { var _index = _page * 5 + i; if (_index >= configs.Count) { m_SignIns[i].SetActive(false); continue; } m_SignIns[i].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 (achievementEffects[i] == 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) { achievementEffects[i].effect.SetMask(); } } } else if (achievementEffects[i] != null) { AchievementGuideEffectPool.Recycle(achievementEffects[i]); achievementEffects[i] = null; } } } } }