using ET; using FairyGUI; using UI.League; using UnityEngine; namespace GFGGame { //联盟祈福 public class LeaguePrayView : BaseWindow { private UI_LeaguePrayUI _ui; public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_LeaguePrayUI.PACKAGE_NAME; _ui = UI_LeaguePrayUI.Create(); this.viewCom = _ui.target; this.viewCom.Center(); this.modal = true; viewAnimationType = EnumViewAnimationType.ZOOM_CENTER; } protected override void AddEventListener() { base.AddEventListener(); EventAgent.AddEventListener(ConstMessage.NUMERIC_CHANGE, UpdateView); } protected override void OnShown() { base.OnShown(); UpdateView(); } protected override void OnHide() { base.OnHide(); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.NUMERIC_CHANGE, UpdateView); } private void UpdateView() { UpdateComPary(_ui.m_comPary0.target, 1); UpdateComPary(_ui.m_comPary1.target, 2); UpdateComPary(_ui.m_comPary2.target, 3); } private void UpdateComPary(GObject obj, int type) { LeaguePrayCfg prayCfg = LeaguePrayCfgArray.Instance.GetCfg(type); UI_ComPary item = UI_ComPary.Proxy(obj); ItemUtil.UpdateItemNeedNum(item.m_comGain, prayCfg.bonusArr[0][0], prayCfg.bonusArr[0][1]); ItemUtil.UpdateItemNeedNum(item.m_comFirstGain, prayCfg.bonusOnceArr[0][0], prayCfg.bonusOnceArr[0][1]); if (type == 1 && RoleDataManager.LeagueType1PrayTimes == 0) { ItemUtil.UpdateItemNeedNum(item.m_comCurrency, prayCfg.consumeArr[0][0], 0); } else { ItemUtil.UpdateItemNeedNum(item.m_comCurrency, prayCfg.consumeArr[0][0], prayCfg.consumeArr[0][1]); } item.m_btnPray.touchable = type == 1 && RoleDataManager.LeagueType1PrayTimes < prayCfg.limit || type == 2 && RoleDataManager.LeagueType2PrayTimes < prayCfg.limit || type == 1 && RoleDataManager.LeagueType3PrayTimes < prayCfg.limit; if (item.m_btnPray.data == null) { item.m_btnPray.onClick.Add(OnBtnPrayClick); } item.m_btnPray.data = type; UI_ComPary.ProxyEnd(); } private void OnBtnPrayClick(EventContext context) { int type = (int)(context.sender as GObject).data; LeagueSproxy.ReqPrayLeague(type).Coroutine(); } } }