SuitPartsDetailView.cs 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. }
  16. protected override void OnInit()
  17. {
  18. base.OnInit();
  19. packageName = UI_SuitPartsDetailUI.PACKAGE_NAME;
  20. _ui = UI_SuitPartsDetailUI.Create();
  21. this.viewCom = _ui.target;
  22. this.modal = true;
  23. this.viewCom.Center();
  24. _ui.m_listParts.itemRenderer = ListPartsItemRenderer;
  25. _ui.m_listParts.onClickItem.Add(OnClickListPartsItem);
  26. }
  27. protected override void AddEventListener()
  28. {
  29. base.AddEventListener();
  30. EventAgent.AddEventListener(ConstMessage.JUMP_TO_SOURCE, this.Hide);
  31. }
  32. protected override void OnShown()
  33. {
  34. base.OnShown();
  35. itemViews.Clear();
  36. int suitId = (int)this.viewData;
  37. _items = SuitCfgManager.Instance.GetSuitItems(suitId);
  38. _ui.m_listParts.numItems = _items.Length;
  39. if (_ui.m_listParts.numItems > 0)
  40. {
  41. _ui.m_listParts.ScrollToView(0);
  42. }
  43. // _ui.m_listParts.ResizeToFit();
  44. _ui.target.Center();
  45. }
  46. protected override void OnHide()
  47. {
  48. base.OnHide();
  49. }
  50. protected override void RemoveEventListener()
  51. {
  52. base.RemoveEventListener();
  53. EventAgent.RemoveEventListener(ConstMessage.JUMP_TO_SOURCE, this.Hide);
  54. }
  55. private void ListPartsItemRenderer(int index, GObject obj)
  56. {
  57. int itemId = _items[index];
  58. obj.data = itemId;
  59. ItemData reward = ItemUtil.createItemData(itemId, 1);
  60. if (itemViews.Count <= index)
  61. {
  62. // obj.data =
  63. ItemView itemView = new ItemView(obj as GComponent);
  64. itemViews.Add(itemView);
  65. }
  66. itemViews[index].SetData(reward);
  67. itemViews[index].TxtHasCountVisble = false;
  68. bool haveItem = DressUpMenuItemDataManager.CheckHasItem(itemId);
  69. itemViews[index].ImgNotGotVisible = !haveItem;
  70. itemViews[index].ShowTips = false;
  71. }
  72. private void OnClickListPartsItem(EventContext context)
  73. {
  74. GComponent item = context.data as GComponent;
  75. int itemId = (int)item.data;
  76. bool haveItem = DressUpMenuItemDataManager.CheckHasItem(itemId);
  77. ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
  78. if (haveItem || itemCfg.approach.Length <= 0)
  79. {
  80. GoodsItemTipsController.ShowItemTips(itemId);
  81. }
  82. else
  83. {
  84. // this.Hide();
  85. object[] goBackDatas = ViewManager.GetGoBackDatas(typeof(SuitPartsDetailView).Name);
  86. ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { itemId, new object[] { ViewName.SUIT_GUIDE_VIEW, this.viewData } });
  87. }
  88. }
  89. }
  90. }