RewardView.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. using System.Collections;
  2. using UnityEngine;
  3. using UI.CommonGame;
  4. using FairyGUI;
  5. using System.Collections.Generic;
  6. namespace GFGGame
  7. {
  8. public class RewardView : BaseWindow
  9. {
  10. private UI_RewardUI _ui;
  11. private List<ItemData> _listItemDatas;
  12. public override void Dispose()
  13. {
  14. base.Dispose();
  15. }
  16. protected override void OnInit()
  17. {
  18. base.OnInit();
  19. _ui = UI_RewardUI.Create();
  20. this.viewCom = _ui.target;
  21. this.viewCom.Center();
  22. this.modal = true;
  23. _ui.m_listReward.SetVirtual();
  24. _ui.m_listReward.itemRenderer = RenderListRewardItem;
  25. _ui.m_listReward.onClickItem.Add(OnClickListReward);
  26. _ui.m_bg.onClick.Add(this.Hide);
  27. }
  28. protected override void OnShown()
  29. {
  30. base.OnShown();
  31. _listItemDatas = this.viewData as List<ItemData>;
  32. _ui.m_listReward.numItems = _listItemDatas.Count;
  33. }
  34. private void RenderListRewardItem(int index,GObject obj)
  35. {
  36. obj.data = _listItemDatas[index];
  37. UI_ListRewardItem item = UI_ListRewardItem.Proxy(obj);
  38. ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_listItemDatas[index].id);
  39. item.m_txtName.text = itemCfg.name;
  40. item.m_txtCount.text = _listItemDatas[index].num==1?"": string.Format("x{0}", _listItemDatas[index].num);
  41. item.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
  42. }
  43. private void OnClickListReward(EventContext context)
  44. {
  45. if (this.ShowTips)
  46. {
  47. ItemData data = (context.data as GObject).data as ItemData;
  48. GoodsItemTipsController.ShowItemTips(data.id);
  49. }
  50. }
  51. private bool _showTips=true;
  52. /// <summary>
  53. /// 是否展示物品详情,默认展示
  54. /// </summary>
  55. private bool ShowTips
  56. {
  57. get { return _showTips; }
  58. set { _showTips = value; }
  59. }
  60. }
  61. }