| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 | 
							- using System.Collections;
 
- using UnityEngine;
 
- using UI.CommonGame;
 
- using FairyGUI;
 
- using System.Collections.Generic;
 
- using System;
 
- namespace GFGGame
 
- {
 
-     public class RewardView : BaseWindow
 
-     {
 
-         private UI_RewardUI _ui;
 
-         private List<ItemData> _listItemDatas;
 
-         private Action onSuccess = null;
 
-         private List<EffectUI> _effects = new List<EffectUI>();
 
-         private const int maxHeight = 1030;
 
-         private EffectUI _effectUI1;
 
-         public override void Dispose()
 
-         {
 
-             if (_ui != null)
 
-             {
 
-                 _ui.Dispose();
 
-                 _ui = null;
 
-             }
 
-             base.Dispose();
 
-         }
 
-         protected override void OnInit()
 
-         {
 
-             base.OnInit();
 
-             _ui = UI_RewardUI.Create();
 
-             this.viewCom = _ui.target;
 
-             this.viewCom.Center();
 
-             this.modal = true;
 
-             //viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
 
-             _ui.m_listReward.itemRenderer = RenderListRewardItem;
 
-             this.viewCom.onClick.Add(this.Hide);
 
-         }
 
-         protected override void OnShown()
 
-         {
 
-             base.OnShown();
 
-             if ((this.viewData as object[]).Length > 0)
 
-             {
 
-                 _listItemDatas = (this.viewData as object[])[0] as List<ItemData>;
 
-                 onSuccess = (this.viewData as object[])[1] as Action;
 
-             }
 
-             else
 
-             {
 
-                 _listItemDatas = this.viewData as List<ItemData>;
 
-             }
 
-             List<ItemData> suitPart = new List<ItemData>(); ;
 
-             for (int i = _listItemDatas.Count - 1; i >= 0; i--)
 
-             {
 
-                 SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_listItemDatas[i].id);
 
-                 if (suitCfg != null)
 
-                 {
 
-                     for (int j = 0; j < suitCfg.partsArr.Length; j++)
 
-                     {
 
-                         suitPart.Add(ItemUtil.createItemData(suitCfg.partsArr[j], _listItemDatas[i].num));
 
-                     }
 
-                     _listItemDatas.RemoveAt(i);
 
-                 }
 
-             }
 
-             _listItemDatas.AddRange(suitPart);
 
-             if (_listItemDatas.Count > 4)
 
-             {
 
-                 _ui.m_listReward.SetVirtual();
 
-             }
 
-             else if(_ui.m_listReward.isVirtual) {
 
-                 _ui.m_listReward.RefreshVirtualList();
 
-             }
 
-             _ui.m_listReward.numItems = _listItemDatas.Count;
 
-             _ui.m_listReward.ResizeToFit();
 
-             if (_ui.m_listReward.height > maxHeight)
 
-             {
 
-                 _ui.m_listReward.height = maxHeight;
 
-             }
 
-             //邊框左上角特效
 
-             _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_holderTitle, "ui_hd", "GXHD");
 
-         }
 
-         protected override void OnHide()
 
-         {
 
-             EffectUIPool.Recycle(_effectUI1);
 
-             _effectUI1 = null;
 
-             for (int i = 0; i < _effects.Count; i++)
 
-             {
 
-                 if (_effects[i] != null)
 
-                 {
 
-                     EffectUIPool.Recycle(_effects[i]);
 
-                     _effects[i] = null;
 
-                 }
 
-             }
 
-             _effects.Clear();
 
-             if (onSuccess != null)
 
-             {
 
-                 onSuccess();
 
-             }
 
-             base.OnHide();
 
-             //_effects.Clear();
 
-             GetSuitItemController.TryShow(0);
 
-         }
 
-         private void RenderListRewardItem(int index, GObject obj)
 
-         {
 
-             // obj.data = _listItemDatas[index];
 
-             UI_ListRewardItem item = UI_ListRewardItem.Proxy(obj);
 
-             string name = "";
 
-             string iconRes = "";
 
-             string ext = "png";
 
-             SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_listItemDatas[index].id);
 
-             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_listItemDatas[index].id);
 
-             if (suitCfg != null)
 
-             {
 
-                 name = suitCfg.name;
 
-                 iconRes = suitCfg.res;
 
-             }
 
-             else
 
-             {
 
-                 name = itemCfg.name;
 
-                 ext = ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType, true);
 
-                 iconRes = itemCfg.res;
 
-             }
 
-             item.m_comRewardItem.m_txtName.text = name;
 
-             // item.m_txtCount.text = _listItemDatas[index].num==1?"": string.Format("x{0}", _listItemDatas[index].num);
 
-             item.m_comRewardItem.m_txtCount.text = string.Format("x{0}", _listItemDatas[index].num);
 
-             item.m_comRewardItem.m_loaIcon.url = ResPathUtil.GetIconPath(iconRes, ext);
 
-             item.m_comRewardItem.m_imgOnceBonus.visible = _listItemDatas[index].isOnceBonus;
 
-             //特效("ui_ck", "ui_ck_zl");
 
-             int childIndex = _ui.m_listReward.ItemIndexToChildIndex(index);
 
-             if (_effects.Count <= childIndex)
 
-             {
 
-                 EffectUI _effectUI = EffectUIPool.CreateEffectUI(item.m_holderReware, "ui_hd", "GXHD_WuPin");
 
-                 _effects.Add(_effectUI);
 
-             }
 
-             if (item.m_comRewardItem.target.data == null)
 
-             {
 
-                 item.m_comRewardItem.target.onClick.Add(OnClickListReward);
 
-             }
 
-             item.m_comRewardItem.target.data = _listItemDatas[index];
 
-             UI_ListRewardItem.ProxyEnd();
 
-         }
 
-         private void OnClickListReward(EventContext context)
 
-         {
 
-             if (this.ShowTips)
 
-             {
 
-                 ItemData data = (context.sender as GObject).data as ItemData;
 
-                 GoodsItemTipsController.ShowItemTips(data.id);
 
-             }
 
-         }
 
-         private bool _showTips = true;
 
-         /// <summary>
 
-         /// 是否展示物品详情,默认展示
 
-         /// </summary>
 
-         private bool ShowTips
 
-         {
 
-             get { return _showTips; }
 
-             set { _showTips = value; }
 
-         }
 
-     }
 
- }
 
 
  |