using FairyGUI; using UI.ActivityMain; using System.Collections; using System.Collections.Generic; using ET; using UnityEngine; using System; namespace GFGGame { public class ActivityZCJBRewardView : BaseWindow { private UI_ActivityZCJBRewardUI _ui; private int lastGotIndex; public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_ActivityZCJBRewardUI.PACKAGE_NAME; _ui = UI_ActivityZCJBRewardUI.Create(); this.viewCom = _ui.target; isfullScreen = true; _ui.m_backBtn.onClick.Add(this.Hide); _ui.m_List.itemRenderer = RenderRewardList; } protected override void OnShown() { base.OnShown(); UpdateList(); _ui.m_List.numItems = ActivityDressCfgArray.Instance.dataArray.Length; _ui.m_List.ScrollToView(ActivityDataManager.Instance.ActivityZCJBList.Count, false, true); } protected override void OnHide() { base.OnHide(); } private void RenderRewardList(int index, GObject obj) { UI_ActivityRewardItemUI item = UI_ActivityRewardItemUI.Proxy(obj); ItemCfg costItem = ItemCfgArray.Instance.GetCfg(ActivityDressCfgArray.Instance.dataArray[index].comsumeArr[0][0]); ItemData numItem; long num; if (BagDataManager.Instance.GetBagData().TryGetValue(3000023, out numItem)) { num = numItem.num; } else { num = 0; } //根据状态修改 if (index < ActivityDataManager.Instance.ActivityZCJBList.Count) { item.m_RewardBtn.m_c1.selectedIndex = 2; RedDotController.Instance.SetComRedDot(item.m_RewardBtn.target, false); } else { item.m_RewardBtn.m_c1.selectedIndex = 0; RedDotController.Instance.SetComRedDot(item.m_RewardBtn.target, false); //设置锁的样式 } if(index == ActivityDataManager.Instance.ActivityZCJBList.Count) { if(num >= ActivityDressCfgArray.Instance.dataArray[index].comsumeArr[0][1]) { item.m_RewardBtn.m_c1.selectedIndex = 1; RedDotController.Instance.SetComRedDot(item.m_RewardBtn.target, true); } } // item.m_rewardName.text = "消耗" + costItem.name + "*"+ ActivityDressCfgArray.Instance.dataArray[index].comsumeArr[0][1] + "兑换"; if (item.m_RewardBtn.target.data == null) { item.m_RewardBtn.target.onClick.Add(OnClickRewardBtn); } item.m_RewardBtn.target.data = index + 1; if(item.m_List.data == null) { item.m_List.itemRenderer = RenderRewardItemList; } item.m_List.data = ActivityDressCfgArray.Instance.dataArray[index].bonusArr; item.m_List.numItems = ActivityDressCfgArray.Instance.dataArray[index].bonusArr.Length; UI_ActivityRewardItemUI.ProxyEnd(); } private async void OnClickRewardBtn(EventContext context) { if (!(context.sender is GObject btnGet)) return; int itemCfg = (int)btnGet.data; UI_ActivityRewardItemUI item = UI_ActivityRewardItemUI.Proxy(_ui.m_List.GetChildAt(itemCfg - 1)); if(item.m_RewardBtn.m_c1.selectedIndex == 1) { bool result = await ActivitySProxy.ReqActivityZCJBReward(5006, itemCfg); if (!result) return; UI_ActivityRewardItemUI.ProxyEnd(); _ui.m_List.numItems = ActivityDressCfgArray.Instance.dataArray.Length; UpdateList(); } } private void RenderRewardItemList(int index, GObject obj) { var rewards = (int[][])obj.parent.data; ItemUtil.CreateItemView(rewards[index], obj as GComponent); } private void UpdateList() { ItemData numItem; long num; if (BagDataManager.Instance.GetBagData().TryGetValue(3000023, out numItem)) { num = numItem.num; } else { num = 0; } _ui.m_num.text = "金元宝:" + num; } } }