using System.Collections.Generic; using ET; using FairyGUI; using UI.DailyLogin; using UnityEngine; namespace GFGGame { public class SevenDayLoginView : BaseWindow { private UI_SevenDayLoginUI _ui; private List _cfgs; private DailyLoginCfg _cfg; public override void Dispose() { // for (int i = 0; i < _ui.m_list.numItems; i++) // { // UI_ListItem listItem = UI_ListItem.Proxy(_ui.m_list.GetChildAt(i)); // listItem.m_loaIcon.Dispose(); // UI_ListItem.ProxyEnd(); // } if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_SevenDayLoginUI.PACKAGE_NAME; _ui = UI_SevenDayLoginUI.Create(); this.viewCom = _ui.target; this.modal = true; this.viewCom.Center(); viewAnimationType = EnumViewAnimationType.ZOOM_CENTER; _ui.m_list.itemRenderer = ListItemRender; _ui.m_comIcon.m_loaIcon.onClick.Add(OnListItemClick); } protected override void OnShown() { base.OnShown(); ViewManager.SetMaskAlpha(0.8f); _cfgs = DailyLoginCfgArray.Instance.GetCfgsBytype((int)ConstBonusType.Item); _cfg = DailyLoginCfgArray.Instance.GetCfgsBytype((int)ConstBonusType.Suit)[0]; UpdateView(); _ui.m_comIcon.m_loaIcon.url = "ui://DailyLogin/yzhd_dyt_5"; _ui.m_comIcon.m_loaIcon.data = _cfg; } private void UpdateView() { _ui.m_list.numItems = _cfgs.Count; RedDotController.Instance.SetComRedDot(_ui.m_comIcon.target, _cfg.id == ActivityDataManager.Instance.dailyLoginId && ActivityDataManager.Instance.dailyLoginBonusStatus == ConstBonusStatus.CAN_GET); } protected override void OnHide() { base.OnHide(); _ui.m_list.numItems = 0; ViewManager.SetMaskAlpha(0.6f); } private void ListItemRender(int index, GObject obj) { DailyLoginCfg cfg = _cfgs[index]; UI_ListItem item = UI_ListItem.Proxy(obj); item.m_loaBg.url = string.Format("ui://DailyLogin/yzhd_dyt_{0}", cfg.id); ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cfg.rewardsArr[0][0]); item.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg); item.m_txtName.text = itemCfg.name; item.m_txtNum.text = "x" + NumberUtil.ChangeNumberUnit(cfg.rewardsArr[0][1], 10000); int dailyLoginId = ActivityDataManager.Instance.dailyLoginId; item.m_imgGot.visible = cfg.id < dailyLoginId || cfg.id == dailyLoginId && ActivityDataManager.Instance.dailyLoginBonusStatus == ConstBonusStatus.GOT; // if (cfg.id == dailyLoginId) // { RedDotController.Instance.SetComRedDot(item.target, cfg.id == dailyLoginId && ActivityDataManager.Instance.dailyLoginBonusStatus == ConstBonusStatus.CAN_GET); // } if (item.target.data == null) { item.target.onClick.Add(OnListItemClick); } item.target.data = cfg; UI_ListItem.ClearProxy(); } private async void OnListItemClick(EventContext context) { DailyLoginCfg cfg = (context.sender as GObject).data as DailyLoginCfg; if (cfg.id == ActivityDataManager.Instance.dailyLoginId && ActivityDataManager.Instance.dailyLoginBonusStatus == ConstBonusStatus.CAN_GET) { bool result = await ActivitySProxy.ReqGetDailyLoginRewards(cfg.id); if (result) { LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.MEI_RI_DNEG_LU, 2); UpdateView(); } } else { GoodsItemTipsController.ShowItemTips(cfg.rewardsArr[0][0]); } } } }