| | |
| | | using Snxxz.UI; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using TableConfig; |
| | | using UnityEngine; |
| | | using UnityEngine.UI; |
| | | using System; |
| | | |
| | | namespace EnhancedUI.EnhancedScroller |
| | | { |
| | | 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; |
| | | |
| | | SignInModel m_Model; |
| | | SignInModel model |
| | | { |
| | | get |
| | | { |
| | | return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<SignInModel>()); |
| | | } |
| | | } |
| | | |
| | | 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]; |
| | | |
| | | public override void Refresh(CellView cell) |
| | | { |
| | | var _page = cell.index; |
| | | for (int i = 0; i < 5; i++) |
| | | { |
| | | var _index = _page * 5 + i; |
| | | if (_index >= model.signAwardList.Count) |
| | | { |
| | | m_SignIns[i].gameObject.SetActive(false); |
| | | continue; |
| | | } |
| | | var _signInCfg = model.signAwardList[_index]; |
| | | var _ring = model.isFirst ? 0 : (_signInCfg.ItemID.Length > 1 ? 1 : 0); |
| | | var _itemCfg = ConfigManager.Instance.GetTemplate<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.signNum); |
| | | m_RetroactiveImgs[i].gameObject.SetActive(_index == model.signNum && model.todaySign |
| | | && model.surSignNum > 0); |
| | | m_PresentEffects[i].gameObject.SetActive(_index == model.signNum && !model.todaySign); |
| | | if (AchievementGoto.achievementType == AchievementGoto.SignInAchievement && _page == model.signNum / 5 |
| | | && _index == model.signNum && model.surSignNum > 0 && model.todaySign) |
| | | { |
| | | if (_achieveEffects[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) |
| | | { |
| | | _achieveEffects[i].effect.SetMask(); |
| | | } |
| | | } |
| | | } |
| | | else if (_achieveEffects[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.signNum) |
| | | { |
| | | AchievementGoto.achievementType = 0; |
| | | if (!model.todaySign) |
| | | { |
| | | CA509_tagCMDaySign signpack = new CA509_tagCMDaySign(); |
| | | signpack.Day = 0; |
| | | GameNetSystem.Instance.SendInfo(signpack); |
| | | return; |
| | | } |
| | | else if (model.surSignNum > 0) |
| | | { |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("SinInReplenish", model.ctnSignJade), (bool isOk) => |
| | | { |
| | | if (isOk) |
| | | { |
| | | if (PlayerDatas.Instance.baseData.Gold >= model.ctnSignJade) |
| | | { |
| | | 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; |
| | | } |
| | | } |
| | | var _signInCfg = model.signAwardList[_day]; |
| | | int itemId = 0; |
| | | int itemCount = 0; |
| | | if (!model.isFirst) |
| | | { |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | |
| | | using Snxxz.UI;
|
| | | using System.Collections;
|
| | | using System.Collections.Generic;
|
| | | using TableConfig;
|
| | | using UnityEngine;
|
| | | using UnityEngine.UI;
|
| | | using System;
|
| | |
|
| | | namespace EnhancedUI.EnhancedScroller
|
| | | {
|
| | | 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;
|
| | |
|
| | | SignInModel m_Model;
|
| | | SignInModel model
|
| | | {
|
| | | get
|
| | | {
|
| | | return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<SignInModel>());
|
| | | }
|
| | | }
|
| | |
|
| | | 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];
|
| | |
|
| | | public override void Refresh(CellView cell)
|
| | | {
|
| | | var _page = cell.index;
|
| | | for (int i = 0; i < 5; i++)
|
| | | {
|
| | | var _index = _page * 5 + i;
|
| | | if (_index >= model.signAwardList.Count)
|
| | | {
|
| | | m_SignIns[i].gameObject.SetActive(false);
|
| | | continue;
|
| | | }
|
| | | var _signInCfg = model.signAwardList[_index];
|
| | | var _ring = model.isFirst ? 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.signNum);
|
| | | m_RetroactiveImgs[i].gameObject.SetActive(_index == model.signNum && model.todaySign
|
| | | && model.surSignNum > 0);
|
| | | m_PresentEffects[i].gameObject.SetActive(_index == model.signNum && !model.todaySign);
|
| | | if (AchievementGoto.achievementType == AchievementGoto.SignInAchievement && _page == model.signNum / 5
|
| | | && _index == model.signNum && model.surSignNum > 0 && model.todaySign)
|
| | | {
|
| | | if (_achieveEffects[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)
|
| | | {
|
| | | _achieveEffects[i].effect.SetMask();
|
| | | }
|
| | | }
|
| | | }
|
| | | else if (_achieveEffects[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.signNum)
|
| | | {
|
| | | AchievementGoto.achievementType = 0;
|
| | | if (!model.todaySign)
|
| | | {
|
| | | CA509_tagCMDaySign signpack = new CA509_tagCMDaySign();
|
| | | signpack.Day = 0;
|
| | | GameNetSystem.Instance.SendInfo(signpack);
|
| | | return;
|
| | | }
|
| | | else if (model.surSignNum > 0)
|
| | | {
|
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("SinInReplenish", model.ctnSignJade), (bool isOk) =>
|
| | | {
|
| | | if (isOk)
|
| | | {
|
| | | if (PlayerDatas.Instance.baseData.Gold >= model.ctnSignJade)
|
| | | {
|
| | | 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;
|
| | | }
|
| | | }
|
| | | var _signInCfg = model.signAwardList[_day];
|
| | | int itemId = 0;
|
| | | int itemCount = 0;
|
| | | if (!model.isFirst)
|
| | | {
|
| | | 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);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|