| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 | 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 List<ActivityDressCfg> zcjbCfgList = new List<ActivityDressCfg>();        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;            modal = true;            _ui.m_back.onClick.Add(this.Hide);            _ui.m_backBtn.onClick.Add(this.Hide);            _ui.m_List.itemRenderer = RenderRewardList;        }        protected override void OnShown()        {            base.OnShown();            UpdateList();            int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(17);            zcjbCfgList = ActivityDressCfgArray.Instance.GetCfgsByactivityId(activityId);            _ui.m_List.numItems = zcjbCfgList.Count;            _ui.m_List.ScrollToView(Mathf.Max(0, ActivityDataManager.Instance.ActivityZCJBList.Count - 1), 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(zcjbCfgList[index].comsumeArr[0][0]);            ItemData numItem;            long num;            if (BagDataManager.Instance.GetBagData().TryGetValue(zcjbCfgList[index].comsumeArr[0][0], 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 >= zcjbCfgList[index].comsumeArr[0][1])                {                    item.m_RewardBtn.m_c1.selectedIndex = 1;                    RedDotController.Instance.SetComRedDot(item.m_RewardBtn.target, true);                }                else                {                    item.m_RewardBtn.m_c1.selectedIndex = 3;                    RedDotController.Instance.SetComRedDot(item.m_RewardBtn.target, false);                }            }            //            item.m_rewardName.text = "使用" + costItem.name + "*"+ zcjbCfgList[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 = zcjbCfgList[index].bonusArr;            item.m_List.numItems = zcjbCfgList[index].bonusArr.Length;            //最后一档特殊处理            //if(index == zcjbCfgList.Length - 1)            //{            //    item.m_rewardNum.visible = true;            //    int numChange = GameGlobal.myNumericComponent.GetAsInt(NumericType.ActivityDressLastGearRewrdNum);            //    item.m_rewardNum.text = string.Format("已兑换次数:{0}/{1}", numChange, 50);            //    RedDotController.Instance.SetComRedDot(item.m_RewardBtn.target, false);            //}            //else            {                item.m_rewardNum.visible = false;            }            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;                GetSuitItemController.TryShow(0);                EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);                UI_ActivityRewardItemUI.ProxyEnd();                _ui.m_List.numItems = zcjbCfgList.Count;                UpdateList();            }            else if (item.m_RewardBtn.m_c1.selectedIndex == 0)            {                PromptController.Instance.ShowFloatTextPrompt("请优先兑换前置物品!");            }            else if (item.m_RewardBtn.m_c1.selectedIndex == 3)            {                PromptController.Instance.ShowFloatTextPrompt("数量不够!");            }        }        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(zcjbCfgList[0].comsumeArr[0][0], out numItem))            {                num = numItem.num;            }            else            {                num = 0;            }            ItemCfg item = ItemCfgArray.Instance.GetCfg(zcjbCfgList[0].comsumeArr[0][0]);            _ui.m_num.text = item.name+ ":" + num;        }    }}
 |