SuitPartsDetailView.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using UI.CommonGame;
  2. using FairyGUI;
  3. using System.Collections.Generic;
  4. namespace GFGGame
  5. {
  6. public class SuitPartsDetailView : BaseWindow
  7. {
  8. private UI_SuitPartsDetailUI _ui;
  9. private int[] _items;
  10. private List<ItemView> itemViews = new List<ItemView>();
  11. public override void Dispose()
  12. {
  13. base.Dispose();
  14. _items = null;
  15. if (_ui != null)
  16. {
  17. _ui.Dispose();
  18. _ui = null;
  19. }
  20. }
  21. protected override void OnInit()
  22. {
  23. base.OnInit();
  24. packageName = UI_SuitPartsDetailUI.PACKAGE_NAME;
  25. _ui = UI_SuitPartsDetailUI.Create();
  26. this.viewCom = _ui.target;
  27. this.modal = true;
  28. this.viewCom.Center();
  29. _ui.m_listParts.itemRenderer = ListPartsItemRenderer;
  30. _ui.m_listParts.onClickItem.Add(OnClickListPartsItem);
  31. }
  32. protected override void AddEventListener()
  33. {
  34. base.AddEventListener();
  35. EventAgent.AddEventListener(ConstMessage.JUMP_TO_SOURCE, this.Hide);
  36. }
  37. protected override void OnShown()
  38. {
  39. base.OnShown();
  40. itemViews.Clear();
  41. int suitId = (int)this.viewData;
  42. _items = SuitCfgArray.Instance.GetSuitItems(suitId);
  43. _ui.m_listParts.numItems = _items.Length;
  44. if (_ui.m_listParts.numItems > 0)
  45. {
  46. _ui.m_listParts.ScrollToView(0);
  47. }
  48. // _ui.m_listParts.ResizeToFit();
  49. _ui.target.Center();
  50. }
  51. protected override void OnHide()
  52. {
  53. base.OnHide();
  54. }
  55. protected override void RemoveEventListener()
  56. {
  57. base.RemoveEventListener();
  58. EventAgent.RemoveEventListener(ConstMessage.JUMP_TO_SOURCE, this.Hide);
  59. }
  60. private void ListPartsItemRenderer(int index, GObject obj)
  61. {
  62. int itemId = _items[index];
  63. obj.data = itemId;
  64. ItemData reward = ItemUtil.createItemData(itemId, 1);
  65. if (itemViews.Count <= index)
  66. {
  67. // obj.data =
  68. ItemView itemView = new ItemView(obj as GComponent);
  69. itemViews.Add(itemView);
  70. }
  71. itemViews[index].SetData(reward);
  72. itemViews[index].ShowHasCount = false;
  73. bool haveItem = DressUpMenuItemDataManager.CheckHasItem(itemId);
  74. itemViews[index].ImgNotGotVisible = !haveItem;
  75. itemViews[index].ShowTips = false;
  76. }
  77. private void OnClickListPartsItem(EventContext context)
  78. {
  79. GComponent item = context.data as GComponent;
  80. int itemId = (int)item.data;
  81. bool haveItem = DressUpMenuItemDataManager.CheckHasItem(itemId);
  82. ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
  83. if (haveItem || itemCfg.approach.Length <= 0)
  84. {
  85. GoodsItemTipsController.ShowItemTips(itemId);
  86. }
  87. else
  88. {
  89. // this.Hide();
  90. // ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { itemId, new object[] { ViewName.SUIT_GUIDE_VIEW, this.viewData } });
  91. object[] goBackDatas = ViewManager.GetGoBackDatas(typeof(SuitPartsDetailView).Name);
  92. object[] sourceDatas = new object[] { itemId, goBackDatas, 1 };
  93. GoodsItemTipsController.ShowItemTips(itemId, sourceDatas);
  94. }
  95. }
  96. }
  97. }