using System.Collections.Generic; using ET; using FairyGUI; using UI.Travel; using UnityEngine; namespace GFGGame { public class TravelRewardView :BaseWindow { private UI_TravelRewardUI _ui; public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_TravelRewardUI.PACKAGE_NAME; _ui = UI_TravelRewardUI.Create(); this.viewCom = _ui.target; isfullScreen = true; _ui.m_list.itemRenderer = RenderListItem; _ui.m_list.onClickItem.Add(OnListItemClick); _ui.m_btnGet.onClick.Add(OnBtnGetClick); _ui.m_mask.onClick.Add(OnClickBtnMask); } protected override void AddEventListener() { base.AddEventListener(); } protected override void OnShown() { base.OnShown(); UpdateView(); } protected override void OnHide() { _ui.m_t1.Play(); base.OnHide(); } protected override void RemoveEventListener() { base.RemoveEventListener(); } private void UpdateView() { TravelData travelData = TravelDataManager.Instance.TravelData; TravelLoactionCfg loactionCfg = TravelLoactionCfgArray.Instance.GetCfg(travelData.TravelLocationId); _ui.m_comPostCard.m_comTravel.m_loaBg.url = ResPathUtil.GetTravelBgPath(loactionCfg.res); _ui.m_comPostCard.m_txtLocationName.text = loactionCfg.name; _ui.m_comPostCard.m_txtTime.text = TimeUtil.FormattingTimeTo_yyyMMdd1(travelData.CreationTime); if (travelData.TravelSuitId > 0) { TravelSuitCfg travelSuitCfg = TravelSuitCfgArray.Instance.GetCfg(travelData.TravelSuitId); _ui.m_comPostCard.m_comTravel.m_loaRole.url = ResPathUtil.GetTravelRolePath(travelSuitCfg.reourcesArr[travelData.SuitResIndex]); _ui.m_comPostCard.m_comTravel.m_loaRole.SetXY(loactionCfg.positionsArr[travelData.PositionIndex][0], loactionCfg.positionsArr[travelData.PositionIndex][1]); } _ui.m_list.numItems = travelData.RewardItems.Count; } private void RenderListItem(int index, GObject obj) { ItemData itemData = TravelDataManager.Instance.TravelData.RewardItems[index]; ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemData.id); UI_ComReward item = UI_ComReward.Proxy(obj); item.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg); item.m_txtCount.text = "x" + itemData.num.ToString(); item.target.data = itemCfg.id; UI_ComReward.ProxyEnd(); } private void OnListItemClick(EventContext context) { GObject obj = (context.data) as GObject; GoodsItemTipsController.ShowItemTips((int)(obj.data)); } private async void OnBtnGetClick() { bool result = await TravelSProxy.ReqGetTravelReward(); if (result) { _ui.m_t1.SetValue("start", _ui.m_comPostCard.target.x, _ui.m_comPostCard.target.y); _ui.m_t0.SetValue("start", _ui.m_comPostCard.target.x, _ui.m_comPostCard.target.y); _ui.m_t0.SetValue("end", _ui.m_btnGet.x - 240, _ui.m_btnGet.y); _ui.m_t0.Play(this.Hide); } } private void OnClickBtnMask() { Hide(); } } }