| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 | using UnityEngine;using FairyGUI;using UI.ActivityAfternoonTea;using System;using Assets.Game.HotUpdate.Data;using ET;namespace GFGGame{    public class ActivityTeaVisitView : BaseWindow    {        private UI_ActivityTeaVisitUI _ui;        private int time;        private int activityID;        private EffectUI _effectUI1;        public override void Dispose()        {            EffectUIPool.Recycle(_effectUI1);            _effectUI1 = null;            if (_ui != null)            {                _ui.Dispose();                _ui = null;            }            base.Dispose();        }        protected override void Init()        {            base.Init();        }        protected override void OnInit()        {            base.OnInit();            packageName = UI_ActivityTeaVisitUI.PACKAGE_NAME;            _ui = UI_ActivityTeaVisitUI.Create();            viewCom = _ui.target;            isfullScreen = true;            isReturnView = true;            _ui.m_btnBack.onClick.Add(OnClickBtnBack);            _ui.m_ruleIcon.onClick.Add(RuleController.ShowRuleView);            _ui.m_taskList.itemRenderer = RenderTaskList;            _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_effectBg, "ui_Activity", "XNBH_BG_tx");        }        protected override void OnShown()        {            base.OnShown();            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("bg_hybh");            _ui.m_ruleIcon.data = 300028;            activityID = 5004;            RoleLimitData limitData = RoleLimitDataManager.GetLimitData(ActivityVisitCfgArray.Instance.dataArray[0].limitId);            time = limitData.TotalPlayMax - limitData.PlayTimes;            _ui.m_visitNum.text = "当前拜访次数:" + time + "/" + limitData.TotalPlayMax;            _ui.m_taskList.numItems = ActivityVisitCfgArray.Instance.dataArray.Length;            _ui.m_time.text = "剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(ActivityDataManager.Instance.GetActivityTime(activityID));            Timers.inst.Add(1, 0, UpdateTime);        }        protected override void OnHide()        {            Timers.inst.Remove(UpdateTime);            base.OnHide();        }        protected override void AddEventListener()        {            EventAgent.AddEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, UpdateVisitNum);        }        protected override void RemoveEventListener()        {            EventAgent.RemoveEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, UpdateVisitNum);        }        private void OnClickBtnBack()        {            ViewManager.GoBackFrom(typeof(ActivityTeaVisitView).FullName);        }                private void UpdateTime(object param = null)        {            long curTime = ActivityDataManager.Instance.GetActivityTime(activityID);            if (curTime <= 0)            {                PromptController.Instance.ShowFloatTextPrompt("拜访活动已结束");                Timers.inst.Remove(UpdateTime);                GameController.GoBackToMainView();                return;            }            _ui.m_time.text = "剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(curTime);        }        private void UpdateVisitNum(EventContext context = null)        {            if ((int)context.data != ActivityVisitCfgArray.Instance.dataArray[0].limitId)            {                return;            }            RoleLimitData limitData = RoleLimitDataManager.GetLimitData(ActivityVisitCfgArray.Instance.dataArray[0].limitId);            time = limitData.TotalPlayMax - limitData.PlayTimes;            _ui.m_visitNum.text = "当前拜访次数:" + time + "/" + limitData.TotalPlayMax;        }        private void RenderTaskList(int index, GObject obj)        {            UI_ActivityVIsitItemUI item = UI_ActivityVIsitItemUI.Proxy(obj);            item.m_head.m_loaIcon.url = ResPathUtil.GetNpcHeadPath(ActivityVisitCfgArray.Instance.dataArray[index].picRes);            item.m_name.text = ActivityVisitCfgArray.Instance.dataArray[index].name;            if (index != 0)            {                item.m_unLock.visible = ActivityTeaDataManager.Instance.NpcInfoList[index].UnlockStatus == 0 ? true : false;                item.m_lockTitle.visible = ActivityTeaDataManager.Instance.NpcInfoList[index].UnlockStatus == 0 ? true : false;                item.m_visitG.visible = ActivityTeaDataManager.Instance.NpcInfoList[index].UnlockStatus == 0 ? false : true;            }            else            {                item.m_unLock.visible = false;                item.m_lockTitle.visible = false;                item.m_visitG.visible = true;            }            item.m_lockIcon.visible = ActivityTeaDataManager.Instance.NpcInfoList[index].RewrdStatus == 2 ? true : false;            item.m_rewardIcon.visible = ActivityTeaDataManager.Instance.NpcInfoList[index].RewrdStatus == 2 ? false : true;            if (item.m_visitBtn.target.visible == true)            {                item.m_visitBtn.m_c1.selectedIndex = ActivityTeaDataManager.Instance.NpcInfoList[index].UnlockStatus == 1 ? 1 : 0;                RedDotController.Instance.SetComRedDot(item.m_visitBtn.target, (ActivityTeaDataManager.Instance.NpcInfoList[index].UnlockStatus == 1 && time > 0) || ActivityTeaDataManager.Instance.NpcInfoList[index].RewrdStatus == 1 ||ActivityTeaDataManager.Instance.CheckVisitTaskRed(index+1));            }            if(item.m_visitBtn.target.data == null)            {                item.m_visitBtn.target.onClick.Add(OnClickVisitBtn);            }            item.m_visitBtn.target.data = index;            UI_ActivityVIsitItemUI.ProxyEnd();        }        private async void OnClickVisitBtn(EventContext context)        {            if (!(context.sender is GObject btnVisit)) return;            int itemID = (int)btnVisit.data;            if (ActivityTeaDataManager.Instance.NpcInfoList[itemID].UnlockStatus == 1)            {                bool result = await ActivityTeaSProxy.ReqUnLockNPCVisit(5004,itemID+1);                if (!result) return;                bool res = await ActivityTeaSProxy.ReqGetNPCVisitInfo(5004);                if (!res) return;                _ui.m_taskList.numItems = ActivityVisitCfgArray.Instance.dataArray.Length;            }            ViewManager.Show<ActivityVisitNpcView>(itemID);        }    }}
 |