using FairyGUI; using ET; using UnityEngine; using System; using UI.NewYearLogin; namespace GFGGame { public class NewYearLoginView : BaseWindow { private UI_NewYearLoginUI _ui; private int _activityId = 0; public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_NewYearLoginUI.PACKAGE_NAME; _ui = UI_NewYearLoginUI.Create(); this.viewCom = _ui.target; this.viewCom.Center(); this.modal = true; //viewAnimationType = EnumViewAnimationType.ZOOM_CENTER; _ui.m_listLogin.itemRenderer = RenderListLogin; } protected override void OnShown() { base.OnShown(); _activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.ShenDuChenYou); RefreshViewInfo(); } protected override void AddEventListener() { base.AddEventListener(); } protected override void RemoveEventListener() { base.RemoveEventListener(); } private void RefreshViewInfo() { _ui.m_listLogin.numItems = ActivitySignCfgArray.Instance.GetCfgsByactivityId(_activityId).Count; } private void RenderListLogin(int index, GObject obj) { UI_ComLoginItem item = UI_ComLoginItem.Proxy(obj); var data = ActivitySignCfgArray.Instance.GetCfgByactivityIdAndday(_activityId,index + 1); var cfg = data; var cfgBonus = data.bonusArr; item.m_bgType.selectedIndex = index % 2; item.m_txtDay.text = "µÚ" + GameConst.CHINESE_NUMBER[index] + "Ìì"; ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cfgBonus[0][0]); item.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg); item.m_txtName.text = itemCfg.name; item.m_txtNum.text = "x" + NumberUtil.ChangeNumberUnit(cfgBonus[0][1], 10000); ActivityDataManager.Instance.NewYearLoginInfoDic.TryGetValue(index + 1, out var state); item.m_imgGot.visible = state == ConstBonusStatus.GOT; RedDotController.Instance.SetComRedDot(item.target, state == ConstBonusStatus.CAN_GET); if (item.target.data == null) { item.target.onClick.Add(OnListItemClick); } item.target.data = cfg; UI_ComLoginItem.ProxyEnd(); } private async void OnListItemClick(EventContext context) { ActivitySignCfg cfg = (context.sender as GObject).data as ActivitySignCfg; ActivityDataManager.Instance.NewYearLoginInfoDic.TryGetValue(cfg.day, out var state); if (state == ConstBonusStatus.CAN_GET) { int actRedPacketId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.ShenDuChenYou); bool result = await ActivitySProxy.ReqGetAcitivitySignBonus(actRedPacketId, cfg.day); if (result) { //LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.MEI_RI_DNEG_LU, 2); RefreshViewInfo(); } } else { GoodsItemTipsController.ShowItemTips(cfg.bonusArr[0][0]); } } protected override void OnHide() { base.OnHide(); } } }